Ergebnis 1 bis 5 von 5
  1. #1
    Stiller Leser
    Registriert seit
    18.07.2009
    Beiträge
    4

    Standard 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

  2. #2
    Eigener Benutzertitel Avatar von inmate
    Registriert seit
    23.12.2008
    Beiträge
    1.767

    Standard

    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


    iPott <3

  3. #3

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    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.

  4. #4
    Stiller Leser
    Registriert seit
    18.07.2009
    Beiträge
    4

    Standard

    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;
    Geändert von crashit (28.07.2009 um 00:18 Uhr) Grund: Automerged Doublepost

  5. #5
    Tron Avatar von gORDon_vdLg
    Registriert seit
    23.07.2007
    Beiträge
    801

    Standard

    eig sollte sich die proc da gar nicht compilen lassen weil bei der for schleife das end; fehlt^^

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •