AGB  ·  Datenschutz  ·  Impressum  







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

[Help] Textfile bearbeiten :(

Ein Thema von delphi_libero · begonnen am 1. Dez 2004 · letzter Beitrag vom 3. Dez 2004
Antwort Antwort
delphi_libero

Registriert seit: 29. Dez 2003
16 Beiträge
 
Delphi 6 Professional
 
#1

[Help] Textfile bearbeiten :(

  Alt 1. Dez 2004, 19:21
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:
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]
..usw
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:
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]
...usw
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Textfile bearbeiten :(

  Alt 1. Dez 2004, 19:26
Erstmal würde ich die Datei in eine Delphi-Referenz durchsuchenTStringListe laden.

Dann such dir von hinten den ersten "/". Kopier dir die Zeichenfolge mit Delphi-Referenz durchsuchencopy raus. Mit Delphi-Referenz durchsuchenChangeFileExt kannst du dann die Dateiendung ändern. Strings aneinanderhängen kann man mit dem "+" Operator.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
delphi_libero

Registriert seit: 29. Dez 2003
16 Beiträge
 
Delphi 6 Professional
 
#3

Re: Textfile bearbeiten :(

  Alt 1. Dez 2004, 19:31
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;
  Mit Zitat antworten Zitat
delphi_libero

Registriert seit: 29. Dez 2003
16 Beiträge
 
Delphi 6 Professional
 
#4

Re: [Help] Textfile bearbeiten :(

  Alt 2. Dez 2004, 00:28
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;
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#5

Re: [Help] Textfile bearbeiten :(

  Alt 2. Dez 2004, 07:11
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

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;
  Mit Zitat antworten Zitat
delphi_libero

Registriert seit: 29. Dez 2003
16 Beiträge
 
Delphi 6 Professional
 
#6

Re: [Help] Textfile bearbeiten :(

  Alt 2. Dez 2004, 18:45
ahh okay jetzt sollte ich schonmal weiterkommen danke. meld mich wenn ichs geschafft hab.
  Mit Zitat antworten Zitat
delphi_libero

Registriert seit: 29. Dez 2003
16 Beiträge
 
Delphi 6 Professional
 
#7

Re: [Help] Textfile bearbeiten :(

  Alt 2. Dez 2004, 20:01
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!
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 16. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: [Help] Textfile bearbeiten :(

  Alt 3. Dez 2004, 12:46
Zitat von delphi_libero:
und zwar soll bei den textdateien die letzte zeile als endung immer '.fin' lauten
Wo jetzt genau? In der Datei oder die Dateiendung selber? Im Memo oder in einer StringList?

Hilft dir die Methode Add?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#9

Re: [Help] Textfile bearbeiten :(

  Alt 3. Dez 2004, 12:48
Hi!

Die Abfrage wg. der Checkbox müsste lauten:
if checkbox1.Checked then //angekreuzt Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: [Help] Textfile bearbeiten :(

  Alt 3. Dez 2004, 13:03
Zitat von delphi_libero:
ist das irgendwie machbar die letzte zeile anzusprechen ?
Die Letzte Zeile kann ganz einfach mit
  s := Memo1.Lines[Memo1.Lines.Count - 1]; ermittelt werden.

Beispiel:
Delphi-Quellcode:
   if CheckBox1.Checked and
      RightStr( Memo1.Lines[Memo1.Lines.Count - 1], 4) <> '.finthen
   begin
     Memo1.Lines[Memo1.Lines.Count - 1] := Memo1.Lines[Memo1.Lines.Count - 1] + '.fin'
   end;
RightStr ist in der Unit StrUtils zu finden.

Falls Deine Frage beantwortet ist, nicht vergessen mit dem - Button oben auf der Seite die Frage als beantwortet zu markieren.
Danke
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  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 23:34 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