-
upload fehlermelung
tahc leute bin dabei nen progrmam zu schreiben was alle daten sichert die man will damit meine ich es sucht nach einem bestimmten dateintyp und sollte ihn uploaden. nun zu meinem problem immer wenn ich auf uploaden klicke kommt die fehlermelung : listenindex überschreitet das maximum (6 8 )
hier der code
Code:
Procedure FindFiles (aPath, aFindMask: String; aWithSub: Boolean; aResult: tStringlist);
Var
FindRec: tSearchRec;
Begin
If (aPath = '') or (aFindMask = '') or Not Assigned (aResult) Then
Exit;
If aPath[Length (aPath)] <> '\' Then
aPath := aPath + '\';
If FindFirst (aPath + aFindMask, faAnyFile, FindRec) = 0 Then
Repeat
If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then
aResult.Add (aPath + FindRec.Name);
Until FindNext (FindRec) <> 0;
FindClose (FindRec);
If Not aWithSub Then
Exit;
If FindFirst (aPath + '*.*', faAnyFile, FindRec) = 0 Then
Repeat
If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then
If Boolean (FindRec.Attr and faDirectory) Then
FindFiles (aPath + FindRec.Name, aFindMask, aWithSub, aResult);
Until FindNext (FindRec) <> 0;
FindClose (FindRec);
End;
procedure TForm2.Button1Click(Sender: TObject);
begin
datei := tstringlist.Create;
findfiles ( 'C:\Dokumente und Einstellungen\ + computername +\Eigene Dateien\Eigene Bilder\' , '*.jpg', true, datei);
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
for i := 0 to datei.Count-1 do
MyIdFtp := TIdFtp.Create;
try
myidftp.host := 'ftp.stimmterersadasde.st.ohost.de';
myidftp.Username := 'asd';
myidftp.Password := '';
myidftp.Passive := false;
myidftp.Connect;
myidftp.Put(datei[i]);
finally
Myidftp.Free;
end;
end;
end.
und ich habe auch noch gleich 2 andere fragen unzwar die kann ich die buttonklicks weglassen sodas wenn die exe ausgeführt wird alles von alleine startet ?? und wie finde ich herraus wie der computername lautet?damit ich zugriff auf die eigenen datein habe?
mfg crashit
-
Also zu deinen beiden anderen Fragen:
Computername:
Code:
GetEnvironmentVariable('ComputerName');
Ohne Buttons:
Kla du kannst deinen Code in die Form schreiben.Dann wird er bei doppelklick auf die .exe ausgeführt.
mfG
-
Bei deiner for..do Schleife fehlt die Verbundanweisung (begin..end).
Ohne diese wird nur die erste Zeile nach dem do ausgeführt und es kommt somit zu einem Fehler.
Zudem musst du die FTP-Verbindung nicht bei jeder Datei wieder neu herstellen. Es reicht, wenn du das FTP-Objekt einmal erstellt und dann alle Dateien mit dieser hochlädst.
-
vielen dank habe es hinbekommen!
habe aufeinmal einen 2 neue fehler!...
einmal Im projekt projekt.exe ist eine exception der klasse elredplyrferror mit der meldung 'sorry the maximum number of client (6) for this user are already connected.' und dannach bekomme ich folgenden fehler : Im projekt projekt.exe ist eine exception der klasse eldocketerror 'socket error 10054 connection reset by peer.' was kann ich dagegen machen? hier mein upload code
Code:
procedure TForm2.Button2Click(Sender: TObject);
begin
MyIdFtp := TIdFtp.Create;
myidftp.host := 'ftp.kommschon.ko.ohost.de';
myidftp.Username := 'kommschon';
myidftp.Password := 'asdasdas';
myidftp.Passive := true;
myidftp.Connect;
for i := 0 to datei.Count-1 do
begin
myidftp.Put(datei[i]);
end;
-
eig sollte sich die proc da gar nicht compilen lassen weil bei der for schleife das end; fehlt^^