AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String parsen

Ein Thema von Neutral General · begonnen am 16. Okt 2006 · letzter Beitrag vom 16. Okt 2006
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

String parsen

  Alt 16. Okt 2006, 18:51
Hi,

Wenn man von einem FTP-Server eine Liste anfordert bekommt man ne Stringlist die z.B so aussieht:

Delphi-Quellcode:
//
12-30-99 12:00a 4952 bootfont.bin
12-30-99 12:00a <DIR> Dokumente und Einstellungen
12-30-99 12:00a 993534 Highscore.bmp
12-30-99 12:00a <DIR> My Shared Folder
12-30-99 12:00a 0 Programme
Jetzt will ich da die einzelnen Daten rausparsen.. Und zwar ab <DIR>. Das Datum etc brauch ich nicht... Bei Ordnern hab ichs so gemacht das ich geguckt hab ob '<DIR>' im String vorkommt und wenn ja dann isses ein Verzeichnis. Dann hab ich den String von 1 bis pos(DIR,S)+5 gelöscht und dann war der Dateiname Trim(Rest). Aber wie mache ich das bei Dateien?

Und das andere Problem ist das z.B hier die letzte Zeile... 'Programme' ist ein Ordner aber es wird als eine 0 KB Datei angezeigt...



Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: String parsen

  Alt 16. Okt 2006, 19:05
nun guck dir am besten an wie die liste auf gebaut ist, wird das tab zeichen als trenner verwendet wenn ja kanst du das benutzen in dem du das ganze in einen 2D Array oder Liste überträgst wenn du das hast kanst du dann damit besser arbeiten z.b. if (array[1,2] <> '<DIR>') and (array[1,2]<>'0') then //eine datei
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: String parsen

  Alt 16. Okt 2006, 19:07
Zitat von Neutral General:
Und das andere Problem ist das z.B hier die letzte Zeile... 'Programme' ist ein Ordner aber es wird als eine 0 KB Datei angezeigt...
Dein FTP-Server hat einen Bug! Einfach eine bessere Version oder einen anderen FTP-Server benützen.
Es gibt Übrigens viele verschiedene Formate (Unix, Windows, Netware) mit denen die Verzeichnisliste vom Server geliefert wird.
Ein guter FTP-Client benützt hier eine automatische Erkennung des Servertyps.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: String parsen

  Alt 16. Okt 2006, 19:17
Zitat von shmia:
Zitat von Neutral General:
Und das andere Problem ist das z.B hier die letzte Zeile... 'Programme' ist ein Ordner aber es wird als eine 0 KB Datei angezeigt...
Dein FTP-Server hat einen Bug! Einfach eine bessere Version oder einen anderen FTP-Server benützen.
Es gibt Übrigens viele verschiedene Formate (Unix, Windows, Netware) mit denen die Verzeichnisliste vom Server geliefert wird.
Ein guter FTP-Client benützt hier eine automatische Erkennung des Servertyps.
Is ja en normaler Indy-FTP Server:

Delphi-Quellcode:
//
    if FindFirst(Path,faAnyFile,SR) = 0 then
    begin
     repeat
        Item := ADirectoryListing.Add;
        Item.FileName := SR.Name;
        Item.Size := SR.Size;
        if SR.Attr = faDirectory then
         Item.ItemType := ditDirectory
        else
         Item.ItemType := ditFile;
      end;
      until FindNext(SR) <> 0;
     FindClose(SR);
    end;
Das is jetzt ein kleiner Ausschnitt wie die Dateien freigegeben werden und wo festgesetzt wird ob Ordner oder nicht...
Wenn dann ist da ein Fehler.. mom heißt das nicht if SR.Attr and faDirectory = faDirectory ? Mal ausprobieren.. Aber das andere Problem ist ja immernoch da

Und der Abstand zwischen dateigröße und datum (bei dateien) ist nicht immer gleich groß... kommt auf die länge der Dateigröße an -.-

EDIT: Ja mit SR.Attr and faDirectory klappts richtig..
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz