AGB  ·  Datenschutz  ·  Impressum  







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

Text ersetzen aus 2 Dateien

Ein Thema von gasty · begonnen am 8. Sep 2008 · letzter Beitrag vom 19. Sep 2008
Antwort Antwort
gasty

Registriert seit: 14. Nov 2007
Ort: Nidderau
80 Beiträge
 
Delphi 7 Enterprise
 
#1

Text ersetzen aus 2 Dateien

  Alt 8. Sep 2008, 17:29
Hallo an alle
Also mein Problem ist folgendes: Ich möchte gerne einen Text aus Datei1 mit einem anderen aus Datei2 ersetzen. Ich würde das gerne in Delphi schreiben, also wäre meine erste Frage: Ist das möglich? Die zweite Frage wäre dann, wie?
Ich denke es ist einfacher zu verstehn wenn ich einfach zeige was ich will

Also Datei1: (txt)
Zitat:
IDS_PROPITEM_TXT_000000
IDS_PROPITEM_TXT_000001 Hand
IDS_PROPITEM_TXT_000002 Penya
IDS_PROPITEM_TXT_000003 etc.
Und Datei2: (Excel)
Zitat:
Name
IDS_PROPITEM_TXT_000001
IDS_PROPITEM_TXT_000002
etc.
Also das "IDS_PROPITEM_TXT_000001" ist sogesehn eine "Variable" und ich möchte in Datei2 den Text "IDS_PROPITEM_TXT_000001" in "Hand" ändern, und das mit allen anderen auch.
Das wäre dann ungefähr wie das "Suchen & Ersetzen" aus dem Editor, nur eben das er automatisch eine Liste durcharbeitet und aus 2 Dateien die Infos nimmt.

Oder noch einfacher wäre vielleicht so:
Zitat:
"A" "B"
ID.. Bla
... ...
Dann A mit B ersetzen.

Ich würde mich über Hilfe oder Vorlagen freuen.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Text ersetzen aus 2 Dateien

  Alt 11. Sep 2008, 08:14
Hallo

Theoretisch geht's so:

Gehe in Datei1 Zeile für Zeile durch wobei jeweils die "Variable" und der "Text" getrennt werden.

z.B aus IDS_PROPITEM_TXT_000001 Hand

wird:

-> Variable: IDS_PROPITEM_TXT_00000
-> Wert : Hand

Danach suchst du in der Excel Datei nach der Variable und falls gefunden, wird sie durch Hand ersetzt.

Falls du spezifische Fragen zur Umsetzung hast, kannst du diese hier gerne stellen.
Thomas
  Mit Zitat antworten Zitat
gasty

Registriert seit: 14. Nov 2007
Ort: Nidderau
80 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Text ersetzen aus 2 Dateien

  Alt 19. Sep 2008, 14:26
Ja, genau so wollte ich das machen
Also meine Fragen sind, wie kann ich die Variablen deklarieren?
Also dass er z.b. als Seperator Leerzeichen nimmt und dann die Liste automatisch durchgeht, da es ca. 4000 Einträge sind will ich es nicht von Hand machen
Und wie kann ich das mit dem Ersetzen umsetzen?

Danke für die Hilfe,
gasty
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: Text ersetzen aus 2 Dateien

  Alt 19. Sep 2008, 14:52
Hallo,
Delphi-Quellcode:
sl.Delimiter := ' ';
sl.LoadFromFile('Datei1');
mit
 s := sl.Values['IDS_PROPITEM_TXT_000001'] sollte in s dann Hand stehen.

sl ist 'ne Stringliste, s ein String;

Stephan
  Mit Zitat antworten Zitat
alf.stefan

Registriert seit: 11. Apr 2003
88 Beiträge
 
Delphi 7 Professional
 
#5

Re: Text ersetzen aus 2 Dateien

  Alt 19. Sep 2008, 15:36
Hallo oder vielleicht auch so

Delphi-Quellcode:
     tList1 := TStringList.Create;
     tList2 := TStringList.Create;

     tList1.LoadFromFile('File1.txt');
     tList2.LoadFromFile('File2.txt');

     tList3 := TStringList.Create;


// name und value sinf durch space getrennt
     tList1.NameValueSeparator := #32;


     for loop2 := 0 to tList2.Count-1 do
     begin
        theString := tList2.Strings[loop2];
        for loop1 := 0 to tList1.Count-1 do
        begin
          if length(tList1.Names[loop1]) > 1 then
          if pos(tList1.Names[loop1],tList2.Strings[loop2])>0 then
          begin
             theString:= AnsiReplaceStr(tList2.Strings[loop2], tList1.Names[loop1], tList1.ValueFromIndex[loop1]);
             break;
          end;
        end;
        tList3.Append(theString);
     end;

     // listen abspeichern und freigeben
in tList3 sollte dann die Liste so sein wie Du sie haben willst.
um AnsiReplaceString zu verwenden muss die Unit strUrils eingebunden werden.

Gruß

Stefan
  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 07:58 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