loadfromfile schlägt fehl - zu lager Dateiname?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
pascalts
Beiträge: 61
Registriert: Fr 10. Okt 2014, 13:16

loadfromfile schlägt fehl - zu lager Dateiname?

Beitrag von pascalts »

Hallo!

Ich möchte den Inhalt einer TXT-Datei auslesen und weiter verarbeiten. Ich habe dazu folgendes geschrieben

Code: Alles auswählen

SLO:=TStringList.Create;
              //SLO.LoadFromFile(SelectDirectoryDialogStammverzeichnis.FileName + '\' + robotername + '.de.txt');
              SLO.LoadFromFile(SelectDirectoryDialogAusgabe.FileName + '\Temp\' + lbROBOTERLISTE.Items[i] + '\C\KRC\Roboter\Init\RefListe.txt'); 
              SLR:=TStringList.Create;
              For l:=0 to SLO.Count-1 do
               begin
                if  (SLO[l][1]='
E') and (length(SLO[l])>2) then ShowMessage(SLO[l]); //SLR.Add(SLO[l]); //HIER
               end;
              wstr:=SLR.Text;
              varBookmark := varDokument.Bookmarks.Item('
ListEingang');
              varBookmark.Range.Text := wstr;
              SLR.Free;
              SLO.Free;       


Mein Programmbricht immer in Zeile "//HIER" ab:

Bild
Deswegen habe ich mir "SelectDirectoryDialogAusgabe.FileName + '\Temp\' + lbROBOTERLISTE.Items[i] + '\C\KRC\Roboter\Init\RefListe.txt'" mal per showmessage ausgeben lassen... und siehe da, der Pfad (ich bin unter Windows) wird nicht vollständig angezeigt :shock: Mittendrin sind einfach 3 Punkte...

Klar also, dass nichts ausgelesen wird... Aber wie kann ich dafür sorgen, dass ich den vollen Pfad übernommen bekomme?

Grüße Pascal

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: loadfromfile schlägt fehl - zu lager Dateiname?

Beitrag von baumina »

Das liegt nicht am Dateinamen sondern am showmessage. Windows bastelt da ab einer gewissen Länge automatisch die 3 Punkte ein.

Du greifst ohne abzufragen ob SLO[l] eine Länge von mindestens einem Zeichen hat auf das erste Zeichen zu. Bei einer Leerzeile krachts deswegen.
.

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: loadfromfile schlägt fehl - zu lager Dateiname?

Beitrag von corpsman »

Er prüft schon, nur meiner Meinung nach in der Falschen Reihenfolge

Code: Alles auswählen

 
if   (length(SLO[l])>2) and (SLO[l][1]='E')  then ShowMessage(SLO[l]); //SLR.Add(SLO[l]); //HIER
 


müsste das heisen
--
Just try it

Antworten