احسنت اخي فيلسوف
استمر
بارك الله فيك
Printable View
احسنت اخي فيلسوف
استمر
بارك الله فيك
بارك الله فيك اخي zovafx
ضيق الوقت اخي او شبه انعدامه
دعنا نتفق لتخصيص بعد غد له
بارك الله فيك اخي فيلسوف
بعد اتباع الخطواط السابقة
بالضغط على Month ثم شهر 12
وبالدخول على مجلد Files بالمنصه وجدت ملف اكسل فارغ
الملف المرفق 481473
الملف المرفق 481474
دعنا ننشاء ملف اكسل يدوي
فكيف نجعل الاكسبيرت يقراء منه ليضع اوامر معلقة قبل الاخبار
الاجندة
الملف المرفق 481496
ممتاز اخي
الان من جهة البرمجة سهلة جدا واظن 5 اسطر فقط
مايخص البرنامج--لابد تشوف صفحة جورنال ولكن اذا قرأ بنجاح سترى التحديث الثاني--في الصورة عندك معلق على 10\10 --- 10 ثواني من 10 ثواني
هو شغال معك طالما انشا ملف الاكسل ولكن بببيانات فارغة وعلى الصورة عندك بيانات فارغةفنقل الفراغ
لقطة من خانة الجورنال وخانة الاكسبيرت
الملف المرفق 481517
الملف المرفق 481518
اخي فيلسوف
اذا سمح وقتك تكتب لنا كود الاكسبيرت المطلوب للعمل على ملف الاكسل
هذا كود قديم جاهز --عدل فيه بعدد الاعمدة ونوع البيانات
ملف الاكسل لديك اجعل امتداده CSV ويحفظ تحت المكان الطبيعي Files
كود PHP:string a0[2222];
string b0[2222];
string c0[2222];
string a1[2222];
string b1[2222];
string c1[2222];
string a2[2222];
string b2[2222];
string c2[2222];
string D0[2222];
string x0[2222];
string DAY[2222];
string y0[2222];
string y1[2222];
string y2[2222];
string y3[2222];
string y4[2222];
string y5[2222];
int OnInit()
{
ObjectsDeleteAll();
EventSetTimer(1);
return(INIT_SUCCEEDED);
}
void OnTimer()
{
ObjectCreate( "aaaaa",OBJ_LABEL,0,0,0);
ObjectSet( "aaaaa",OBJPROP_CORNER,0);
ObjectSet( "aaaaa",OBJPROP_XDISTANCE, 333);
ObjectSet( "aaaaa",OBJPROP_YDISTANCE, 0);
ObjectSetText( "aaaaa", TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES|TIME_SECONDS),12,"Tahoma",clrWhite);
string FileString="news9.csv";
int FileTracer;
int month=TimeMonth (TimeCurrent());
int year =TimeYear (TimeCurrent());
FileTracer=FileOpen(FileString, FILE_CSV|FILE_READ, ';');
int u=-1;
while(FileIsEnding(FileTracer)==false) // While the file pointer..
{
u++;
b0[u] = FileReadString(FileTracer);
b0[u] = StringSubstr(b0[u],7,7);
b0[u] = year+"."+month+"."+b0[u];
x0[u] = FileReadString(FileTracer);
c0[u] = StringSubstr(x0[u],0,StringLen(x0[u])-2);
D0[u] = StringSubstr(x0[u],StringLen(x0[u])-2,2);
if(D0[u]=="am")
c0[u] =TimeToStr(StringToTime(b0[u]+" "+c0[u]),TIME_DATE|TIME_MINUTES);
else if(D0[u]=="pm")
c0[u] =TimeToStr(StringToTime(b0[u]+" "+c0[u])+12*60*60,TIME_DATE|TIME_MINUTES);
else
c0[u] =TimeToStr(StringToTime(b0[u]+" "+"00:00"),TIME_DATE);
a1[u] = FileReadString(FileTracer);
b1[u] = FileReadString(FileTracer);
c1[u] = FileReadString(FileTracer);
a2[u] = FileReadString(FileTracer);
b2[u] = FileReadString(FileTracer);
if(FileIsEnding(FileTracer)==true) break;
}
FileClose(FileTracer);
Comment(u);
int FF=0;
datetime t1=TimeCurrent()-6*60*60;
datetime t2=TimeCurrent()+6*60*60;
datetime t3=1*60*60;
datetime t4=4*60;
/////////////////////////////////////////
for(int i=0 ; i<=u ;i++)
{
if(TimeMonth(StringToTime(c0[i]))==TimeMonth(TimeCurrent()))
{
if(StringToTime(c0[i])<t2 && StringToTime(c0[i])>=t1)
{
int j=0;
if(StringToTime(c0[i])<TimeCurrent()) color clr=clrWhite;
else clr=clrLime;
if((StringToTime(c0[i])-TimeCurrent())<t3 && (StringToTime(c0[i])-TimeCurrent())>-6*60) clr=clrRed;
if((StringToTime(c0[i])-TimeCurrent())<t4 && (StringToTime(c0[i])-TimeCurrent())>60)
{
clr=clrYellow;
if(a1[i]=="EUR") {PlaySound("LOWXSOUND_EURJPY.wav"); Sleep(9000); }
if(a1[i]=="GBP") {PlaySound("LOWXSOUND_GBPJPY.wav"); Sleep(9000); }
if(a1[i]=="AUD") {PlaySound("LOWXSOUND_AUDJPY.wav"); Sleep(9000); }
if(a1[i]=="NZD") {PlaySound("LOWXSOUND_NZDJPY.wav"); Sleep(9000); }
if(a1[i]=="USD") {PlaySound("LOWXSOUND_EURUSD.wav"); Sleep(9000); }
if(a1[i]=="CAD") {PlaySound("LOWXSOUND_CADJPY.wav"); Sleep(9000); }
if(a1[i]=="CHF") {PlaySound("LOWXSOUND_CHFJPY.wav"); Sleep(9000); }
if(a1[i]=="JPY") {PlaySound("LOWXSOUND_USDJPY.wav"); Sleep(9000); }
}
////////////////////////////////////
FF++;
////////////////////////////////////
y0[FF]=StringSubstr(c0[i],0,10);
y1[FF]=StringSubstr(c0[i],11,5);
y2[FF]=a1[i];
y3[FF]=b1[i];
y4[FF]=a2[i];
y5[FF]=b2[i];
if(y0[FF]!=y0[FF-1])
{
ObjectCreate( "c0[i]"+FF+"_"+j,OBJ_LABEL,0,0,0);
ObjectSet( "c0[i]"+FF+"_"+j,OBJPROP_CORNER,0);
ObjectSet( "c0[i]"+FF+"_"+j,OBJPROP_XDISTANCE, 5+j*85);
ObjectSet( "c0[i]"+FF+"_"+j,OBJPROP_YDISTANCE, 30+FF*16);
ObjectSetText( "c0[i]"+FF+"_"+j, y0[FF],12,"Tahoma",clr);
}
else ObjectDelete( "c0[i]"+FF+"_"+j);
j++;
if(y1[FF]!=y1[FF-1])
{
ObjectCreate( "a1[i]"+FF+"_"+j,OBJ_LABEL,0,0,0);
ObjectSet( "a1[i]"+FF+"_"+j,OBJPROP_CORNER,0);
ObjectSet( "a1[i]"+FF+"_"+j,OBJPROP_XDISTANCE, 25+j*85);
ObjectSet( "a1[i]"+FF+"_"+j,OBJPROP_YDISTANCE, 30+FF*16);
ObjectSetText( "a1[i]"+FF+"_"+j, y1[FF],12,"Tahoma",clr);
}
else ObjectDelete( "a1[i]"+FF+"_"+j);
j++;
if(y2[FF]!=y2[FF-1])
{
ObjectCreate( "y2[i]"+FF+"_"+j,OBJ_LABEL,0,0,0);
ObjectSet( "y2[i]"+FF+"_"+j,OBJPROP_CORNER,0);
ObjectSet( "y2[i]"+FF+"_"+j,OBJPROP_XDISTANCE, 25+j*75);
ObjectSet( "y2[i]"+FF+"_"+j,OBJPROP_YDISTANCE, 30+FF*16);
ObjectSetText( "y2[i]"+FF+"_"+j, y2[FF],12,"Tahoma",clr);
}
else ObjectDelete( "y2[i]"+FF+"_"+j);
j++;
if(y3[FF]!=y3[FF-1])
{
ObjectCreate( "b1[i]"+FF+"_"+j,OBJ_LABEL,0,0,0);
ObjectSet( "b1[i]"+FF+"_"+j,OBJPROP_CORNER,0);
ObjectSet( "b1[i]"+FF+"_"+j,OBJPROP_XDISTANCE, -150+j*125);
ObjectSet( "b1[i]"+FF+"_"+j,OBJPROP_YDISTANCE, 30+FF*16);
ObjectSetText( "b1[i]"+FF+"_"+j, y3[FF],12,"Tahoma",clr);
}
else ObjectDelete( "b1[i]"+FF+"_"+j);
j++;
if(y4[FF]!=y4[FF-1])
{
ObjectCreate( "a2[i]"+FF+"_"+j,OBJ_LABEL,0,0,0);
ObjectSet( "a2[i]"+FF+"_"+j,OBJPROP_CORNER,0);
ObjectSet( "a2[i]"+FF+"_"+j,OBJPROP_XDISTANCE, 355+j*35);
ObjectSet( "a2[i]"+FF+"_"+j,OBJPROP_YDISTANCE, 30+FF*16);
ObjectSetText( "a2[i]"+FF+"_"+j, y4[FF],12,"Tahoma",clr);
}
else ObjectDelete( "a2[i]"+FF+"_"+j);
j++;
if(y5[FF]!=y5[FF-1])
{
ObjectCreate( "b2[i]"+FF+"_"+j,OBJ_LABEL,0,0,0);
ObjectSet( "b2[i]"+FF+"_"+j,OBJPROP_CORNER,0);
ObjectSet( "b2[i]"+FF+"_"+j,OBJPROP_XDISTANCE, 390+j*35);
ObjectSet( "b2[i]"+FF+"_"+j,OBJPROP_YDISTANCE, 30+FF*16);
ObjectSetText( "b2[i]"+FF+"_"+j, y5[FF],12,"Tahoma",clr);
}
else ObjectDelete( "b2[i]"+FF+"_"+j);
}
}
}
}
//////////////////////////////
void OnDeinit(const int reason)
{
ObjectsDeleteAll();
EventKillTimer();
}
التاريخ عندك في العمود ليس على الصيغة المفهومة برمجيا
لذا اما تعدلها او تجعل البرنامج باسطر اضافية يعدلها