![]() |
[Help] Textfile bearbeiten :(
Hi leudz. ich hab folgendes prob (wusste jetzt net genau in welche kategorie ich das packen sollte sry) und zwar habe ich eine bzw. mehrere textfiles in denen url's stehen. die sind aufgebaut wie folgt:
Delphi-Quellcode:
..usw
http://www.host.com/index.html
[url]http://www.host.com/news.html[/url] [url]http://www.host.com/logo.jpg[/url] [url]http://www.host.com/banner.jpg[/url] also jeweils eine url pro zeile. jetzt meine frage. ich würde diese textfile gerne einlesen (in listview, stringgrid.. whatever) und an jede zeile 2 vordefinierte namen (jeweils der dateiname der url extrahiert + änderung der dateiendung) anhängen die jeweils durch ein = getrennt werden. bsp.:
Delphi-Quellcode:
...usw
http://www.host.com/index.html=index.seite=index.seite
[url]http://www.host.com/news.html=news.seite=news.seite[/url] [url]http://www.host.com/logo.jpg=logo.bild=logo.bild[/url] [url]http://www.host.com/banner.jpg=banner.bild=banner.bild[/url] und dann das ganze abspeichern. ist das irgendwie möglich? ich hatte da so im kopf das in nen gitter einzulesen und dann zwei spalten anzuhängen in denen dann die namen extrahiert und geändert werden. nur weis ich garnet wie ich das realisieren könnte. und dann ist jede txt file andere größe. mal 5 zeilen mal 10 usw. also steht vorher noch nicht fest. also nich statisch machbar wohl. bin für jeden hinweis dankbar ;) vieleicht gibts sowas ja auch schon. greez |
Re: Textfile bearbeiten :(
Erstmal würde ich die Datei in eine
![]() Dann such dir von hinten den ersten "/". Kopier dir die Zeichenfolge mit ![]() ![]() |
Re: Textfile bearbeiten :(
ah danke sone step-by-stepanweisung brauchte ich. hoffe ich krieg das hin freu mich schon. danke erstmal ;)
Edit: soo jetzt hab ich schonmal die stringlist created und die textfile geladen. nur weiss ich leider nicht wie ich von hinten nach "/" suchen kann. vieleicht mit Find()/Indexof() ? weis leider net was ich da genau für paras angeben muss. hoffe kannst mir aushelfen. bisher:
Delphi-Quellcode:
var links: TStringList;
begin Try Opendialog1.Execute; Edit1.Text := Opendialog1.FileName; links:=TStringList.Create; links.LoadFromFile(Edit1.Text); Except end; end; |
Re: [Help] Textfile bearbeiten :(
so habe code nochmal überarbeitet damit mir auch gleich die zeilen ausgelesen werden. allerdings weis ich immer noch net wie ich den dateinamen extrahieren kann und dann noch umbenennen und das ganze ans original hänge wie beschrieben :/ hoffe da gibts ne möglichkeit.
Delphi-Quellcode:
var
Form1: TForm1; links: TStringList; // stringlistname ....etc. begin Try Opendialog1.Execute; //Öffnen-Dialog aufrufen Edit1.Text := Opendialog1.FileName; //Pfad der ausgewählten Datei anzeigen links:=TStringList.Create; //Stringliste erzeugen links.LoadFromFile(Edit1.Text); // Datei einlesen in stringliste LabeledEdit1.Text := IntToStr(links.count); // Anzahl der gefunden Zeilen anzeigen Except end; end; |
Re: [Help] Textfile bearbeiten :(
Hallo,
Du musst die Zeilen einzeln bearbeiten. Hab das mal mit einer Memo Komponente demonstriert in der eine Liste der URLs steht. Geht natürlich mit einer Stringlist genauso :wink:
Delphi-Quellcode:
function GetFilename(str: String): String;
var i : Integer; begin for i := Length(str) downto 1 do if str[i] = '/' then begin Result := ChangeFileExt(Copy(str, i + 1, max_path), ''); Break; end; end; procedure TForm1.Button2Click(Sender: TObject); var i : Integer; begin for i := 0 to memo1.Lines.Count -1 do memo1.Lines[i] := memo1.Lines[i] + '=' + GetFilename(memo1.Lines[i]); end; |
Re: [Help] Textfile bearbeiten :(
ahh okay jetzt sollte ich schonmal weiterkommen ;) danke. meld mich wenn ichs geschafft hab.
|
Re: [Help] Textfile bearbeiten :(
klasse, soweit hab ich das hinbekommen. jetzt würd ich noch gerne eine option hinzufügen, und zwar soll bei den textdateien die letzte zeile als endung immer '.fin' lauten wenn checkbox1 aktiviert ist. ist das irgendwie machbar die letzte zeile anzusprechen ?
irgendwie mit "if checkbox1.State = true" dann ändere dateiendung der letzten zeile zu .fin danke schonmal für die hilfen! |
Re: [Help] Textfile bearbeiten :(
Zitat:
Hilft dir die Methode Add? |
Re: [Help] Textfile bearbeiten :(
Hi!
Die Abfrage wg. der Checkbox müsste lauten:
Delphi-Quellcode:
Ciao Frederic
if checkbox1.Checked then //angekreuzt
|
Re: [Help] Textfile bearbeiten :(
Zitat:
Delphi-Quellcode:
ermittelt werden.
s := Memo1.Lines[Memo1.Lines.Count - 1];
Beispiel:
Delphi-Quellcode:
RightStr ist in der Unit StrUtils zu finden.
if CheckBox1.Checked and
RightStr( Memo1.Lines[Memo1.Lines.Count - 1], 4) <> '.fin' then begin Memo1.Lines[Memo1.Lines.Count - 1] := Memo1.Lines[Memo1.Lines.Count - 1] + '.fin' end; Falls Deine Frage beantwortet ist, nicht vergessen mit dem http://www.delphipraxis.net/template...t_answered.gif - Button oben auf der Seite die Frage als beantwortet zu markieren. Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz