AGB  ·  Datenschutz  ·  Impressum  







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

komplexes parsen eines Strings

Ein Thema von lkz633 · begonnen am 3. Sep 2003 · letzter Beitrag vom 3. Sep 2003
Antwort Antwort
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#1

komplexes parsen eines Strings

  Alt 3. Sep 2003, 18:53
Hi,

habe den ganzen Tag versucht, dies hinzubekommen, ohne Erfolg.

Ich habe Strings im folgenden Format:

'-r-------- 1 root root 9323 Aug 30 2002 INSTALL'

Dies ist das Ergebnis eines idftp.list();

Jetzt versuche ich an die Rechte, Groese, Filename usw einzeln heranzukommen.

Anscheinend ist noch nicht einmal die Anzahl der Leerzeichen konstant.

Hat dies schon mal jemand geschafft?

Herzlichen Dank fuer eure Hilfe
lkz633
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#2

hmm,

  Alt 3. Sep 2003, 18:58
ist doch egal wieviele Leerzeichen es sind hauptsache es sind welche, dort ist die Trennung. Ich seh da kein problem, man geht einfach CHar für Char durch den String durch und wenn man auf ein leerzeichen stösst fängt was neues an, ausser es kommt wieder ein Leerzeichen.
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#3

hmm,

  Alt 3. Sep 2003, 19:17
hier mal ein kleine Projekt dazu ist, in Kylix aber die .pas kannste zur not ja auch so öffnen. brauchst auf der Form einen button1 ein edit1 und ein Memo1

Delphi-Quellcode:
function TForm1.encode(h:String):TStringlist;
var z :string;
    i : integer;
    rueckgabe : TStringlist;
begin
  rueckgabe := TStringlist.Create;
  rueckgabe.Clear;
  i := 1;
  z := '';
  while (i < length(h)) do
  begin
    if h[i] <> #32 then
    begin
      z := z + h[i];
      inc(i);
    end
    else
    begin
      rueckgabe.Add(z);
      z := '';
      inc(i);
      while (h[i] = #32) do
        inc(i);
    end;
  end;
  if (trim(z) <> '') then rueckgabe.add(z);
  result := rueckgabe;
end;
du übergibst einen String und bekommst eine Stringlist zurück.
Angehängte Dateien
Dateityp: zip encode.zip (5,7 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#4

Re: komplexes parsen eines Strings

  Alt 3. Sep 2003, 19:58
Vielen, vielen Dank fuer deine Hilfe, die Idee mit der Stinglist find ich klasse!

2 Mini-Bugs:

1) es muss
Code:
(i <= length(h))
heissen

2) Falls der Name der Datei auch Lerzeichen enthaelt, fehlt der Teil nach dem ersten lehrzeichen bzw ist in zusaetzlichen Strings enthalten. Koenntest du mir dabei nochmal helfen, dass dies in einem steht?

Nochmals danke und Gruss
lkz633
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#5

Re: komplexes parsen eines Strings

  Alt 3. Sep 2003, 20:13
Arbeitest Du mit der Komponente TNMFTP von Delphi?
Die hat nämlich ne Eigentschaft "ParseList"... Wenn die auf True ist, wird nach einem List automatisch geparst und alles hübsch ordentlich in der Eigenschaft "FTPDirectoryList" abgelegt.

Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#6

hmm,

  Alt 3. Sep 2003, 20:13
naja ich sag mal so, das mit den Namen ist so eine Sache, weil dies leider nur in der Windowswelt wirklich legal ist. aber das andere ist ein Bug

Ich hasse es einfach dass Arrays bei 0 losgehen, Strings aber nicht. Da ich öffters mit Arrays arbeite ist eben die Standardschleife von 0 bis length -1
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#7

Re: komplexes parsen eines Strings

  Alt 3. Sep 2003, 20:19
Zitat von Wormid:
Arbeitest Du mit der Komponente TNMFTP von Delphi?
Die hat nämlich ne Eigentschaft "ParseList"... Wenn die auf True ist, wird nach einem List automatisch geparst und alles hübsch ordentlich in der Eigenschaft "FTPDirectoryList" abgelegt.
Ich arbeite mit den Indy Components.

Auch da wird eine Eigenschaft DirectorzListing gefuellt, dies dauert aber ungefaehr 30 mal so lang, wie wenn ich die Stringliste parse

Gruss lkz633
  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 05:49 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