AGB  ·  Datenschutz  ·  Impressum  







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

Bestimmte Stellen aus TXT lesen

Ein Thema von Uncle Cracker · begonnen am 2. Feb 2004 · letzter Beitrag vom 4. Feb 2004
Antwort Antwort
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#1

Bestimmte Stellen aus TXT lesen

  Alt 2. Feb 2004, 17:08
Wie kann ich bestimmt Stellen aus einer Textdatei lesen?

D.h. ich möcht aus dem folgendem Beispiel die ID und dann den Link auslesen:

<?php
$ids[299] = "http://www.test.de/Test.rar";
$ids[300] = "http://www.test.de/Test1.rar";
$ids[301] = "http://www.test.de/Test2.rar";
?>


Ich möchte zwar danach dann noch Daten schreiben, also neue IDs anfügen, doch das wird ja dann nicht mehr so schwer, wenn man überhaupt weiß wie man die einzelnen Dinge ließt.

Vielleicht weiß jemand, wie das geht oder hat einen Vorschlag, wie man das machen könnte.


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Bestimmte Stellen aus TXT lesen

  Alt 2. Feb 2004, 19:54
Hi Uncle Cracker,

probier mal eine Zeile einzulesen und dann die 6. bis 8. Stelle und die 13. bis 2 Zeichen vor ende auszulesen. Die Stringzerlegung könnte so aussehen:
Delphi-Quellcode:
ID[1]:=zeile[6];
ID[2]:=zeile[7];
ID[3]:=zeile[8];
FOR i:= 13 to lenght(zeile)-2 do link[i-12]:=zeile[i];
So ungefähr könnte es aussehen. (nicht geprüft)

Ratte
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
Benutzerbild von IcyT
IcyT

Registriert seit: 18. Jan 2004
Ort: Iceland
12 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Bestimmte Stellen aus TXT lesen

  Alt 2. Feb 2004, 20:17
Das ist aber ziemlich undynamisch, denn wenn die ID jetzt z.b. 4 Stellen hat funktioniert deine Methode schon nicht mehr.
Ich würde lieber jedes zeichen durchgehen und dann von [ bis ] lesen und dann später von " bis ". Dann ist man nämlich auf der sicheren Seite, höchstens das ganze Schema wird verändert.
  Mit Zitat antworten Zitat
Neg

Registriert seit: 16. Jan 2004
Ort: Berlin
63 Beiträge
 
Delphi 5 Professional
 
#4

Re: Bestimmte Stellen aus TXT lesen

  Alt 2. Feb 2004, 21:55
Hmm.. Ein klassischer Fall einer regulären Grammatik, die man mit einem Scanner verarbeiten könnte. Aber ich nehme mal an, dass du darüber noch nichts gelernt hast, oder? (Hab's ja selbst erst dieses Semester an der Uni gehabt.)

Die Idee ist im Grunde recht einfach. Du liest den String Zeichen für Zeichen ein und merkst dir stets den aktuellen "Zustand" (z.B. "'$' gelesen, 'i' erwartet"). Je nach dem in welchem Zustand du gerade bist, verarbeitest du aktuelle Zeichen anders und springst gegebenfalls in einen anderen Zustand.
Kannst ja mal ein wenig googlen, oder so.
Bei Google suchenScanner reguläre Grammatik
Bei Google suchenZustandsautomat
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Bestimmte Stellen aus TXT lesen

  Alt 2. Feb 2004, 21:57
Für solche Fälle verwende ich gerne Hier im Forum suchenreguläre Ausdrücke, so dass der Code zum Ausgeben aller URLs mitsamt ihrer IDs in Dialogboxen wie folgt aussehen könnte:
Delphi-Quellcode:
with RegExp('\[(\d+)\]\s?=\s?"(.*?)"') do
  if Execute(AString) then
  repeat
    ShowMessage(Format('Id: %d, Url: %s', [Match[1], Match[2]]);
  until not ExecuteNext;
gruß, choose
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#6

Re: Bestimmte Stellen aus TXT lesen

  Alt 3. Feb 2004, 23:41
Irgendwie bin ich zu doof, den Quelltext von dir umzusetzten

Was ist denn RegExp, Execute und AString bzw. wie kann ich das einsetzten? Ich habe das irgendwie leider nicht hinbekommen.

Vielleicht kann mir nochmal jemand helfen.


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Bestimmte Stellen aus TXT lesen

  Alt 4. Feb 2004, 09:56
Hallo UC,

die Funktion RegExp ist von mir und erstellt ist einen Wrapper, um eine Implementierung von regulären Ausdrücken unter Delphi, der -mit einer Referenzzählung ausgestattet- die benötigten Ressourcen selbststädnig wieder freigibt, und einige vereinfachte Methoden anbietet. Grundsätzlich arbeitet er aber ähnlich zu den meisten gängigen Implementierungen.

Hier im Forum suchenreguläre Ausdrücke sind nicht direkt in Delphi implementiert, Du solltest folglich nach einer geeigneten Bibliothek suchen. AString ist der String, den Du parsen möchtest, und die "kryptischen Zeichen" entsprechen dem tatsächlichen Ausdruck.
gruß, choose
  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 18:32 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