J
Tach auch,
ich hab mir jetzt folgendermassen geholfen:
void __fastcall TFormSystem::ButtonUpdateSearchClick(TObject *Sender)
{
TStringList *ftpliste = new TStringList;
char s[80];char v[8]; char akt[8]; char mon[4];
int a;
strcpy(v,ComboBox1->Text.c_str());
strcpy(akt,v);
ButtonUpdateSearch->Visible=false;
//Serverversion ermitteln
IdFTP1->Host=EditGSHostname->Text;
IdFTP1->User="anonymous";
IdFTP1->Password="info@nobody.de";
Memo1->Lines->Add("Connecting..");
IdFTP1->Connect();
Serverversion=IdFTP1->SystemDesc;
Memo1->Lines->Add(Serverversion);
IdFTP1->Disconnect();
/******************************************
* je nach Serverversion andere Auswertung *
******************************************/
if(Serverversion== " Windows_NT version 5.0")
{ //Dateidatum ermitteln
IdFTP2->Host=Edit2->Text;
IdFTP2->User="anonymous";
IdFTP2->Password="info@nobody.de";
Memo1->Lines->Add("Connecting..");
IdFTP2->Connect();
IdFTP2->List(ftpliste,".",true);
for(a=0;a<ftpliste->Count;a++)
{ Memo1->Lines->Add(ftpliste->Strings[a]);
if(strstr(StrLower(ftpliste->Strings[a].c_str()),"meineDatei.txt"))
{ strcpy(s,ftpliste->Strings[a].c_str());
v[0]=s[6]; v[1]=s[7]; v[2]=s[0]; v[3]=s[1]; v[4]=s[3]; v[5]=s[4]; v[6]=0;
}
}
IdFTP2->Disconnect();
}
if(Serverversion== " UNIX emulated by FileZilla")
{ //Dateidatum ermitteln
IdFTP2->Host=Edit2->Text;
IdFTP2->User="anonymous";
IdFTP2->Password="info@nobody.de";
Memo1->Lines->Add("Connecting..");
IdFTP2->Connect();
IdFTP2->List(ftpliste,".",true);
for(a=0;a<ftpliste->Count;a++)
{ Memo1->Lines->Add(ftpliste->Strings[a]);
strcpy(s,ftpliste->Strings[a].c_str());
if(strstr(StrLower(ftpliste->Strings[a].c_str()),"winauf32.ver"))
{ v[0]=s[51]; v[1]=s[52]; //Jahr
mon[0]=s[42]; mon[1]=s[43]; mon[2]=s[44]; mon[3]=0;
if(strstr(strlwr(mon),"jan")) { v[2]=0x30; v[3]=0x31; }
if(strstr(strlwr(mon),"feb")) { v[2]=0x30; v[3]=0x32; }
if(strstr(strlwr(mon),"mar")) { v[2]=0x30; v[3]=0x33; }
if(strstr(strlwr(mon),"apr")) { v[2]=0x30; v[3]=0x34; }
if(strstr(strlwr(mon),"may")) { v[2]=0x30; v[3]=0x35; }
if(strstr(strlwr(mon),"jun")) { v[2]=0x30; v[3]=0x36; }
if(strstr(strlwr(mon),"jul")) { v[2]=0x30; v[3]=0x37; }
if(strstr(strlwr(mon),"aug")) { v[2]=0x30; v[3]=0x38; }
if(strstr(strlwr(mon),"sep")) { v[2]=0x30; v[3]=0x39; }
if(strstr(strlwr(mon),"oct")) { v[2]=0x31; v[3]=0x30; }
if(strstr(strlwr(mon),"nov")) { v[2]=0x31; v[3]=0x31; }
if(strstr(strlwr(mon),"dec")) { v[2]=0x31; v[3]=0x32; }
v[4]=s[46]; v[5]=s[47]; v[6]=0; //Tag
//ShowMessage(v);
IdFTP2->Disconnect();
}
}
}
...
}
Ist zumindest ne Anregung.
Die Serverliste müsste natürlich im Laufe der Zeit erweitert werden.
Bis denne
Jente