 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Uwe
Anmeldedatum: 07.06.2006 Beiträge: 75
|
Verfasst am: Di Sep 19, 2006 1:40 pm Titel: StringReplace Problem... |
|
|
Hallo zusammen,
bin mal wieder völlig Ende. Hoffe auf Hilfe der Profis:
1. Ich habe eine csv Datei. C:\test.csv
2. In dieser Datei sind mehrere Platzhalter z.B. [Menge], [Preis]
Diese Platzhalter möchte ich gerne mit Daten einer INI ersetzen lassen.
Meine INI sieht so aus:
C:\test.ini
[Einheit]
Menge=12
[Netto]
Preis=kostenlos
Ich habe mit FileRead u. StringReplace probiert...Ohne Erfolg!
| Code: |
FileRead, InputVar, C:\Test.csv
StringReplace, ....??
|
Hier habe ich zig Varianten probiert! geht leider alles nicht!
Ist FileRead und StringReplace überhaupt der richtige Ansatz?
Merci Uwe |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1889 Wohnort: Österreich
|
|
| Nach oben |
|
 |
AGU Gast
|
Verfasst am: Di Sep 19, 2006 2:10 pm Titel: |
|
|
Wäre es möglich, mal ein paar Beispielzeilen deiner .csv Datei zu posten? Damit man sich da besser war vorstellen kann.
Spontan würde mir da entweder StringSplit oder ein ParseLoop einfallen. Mit diesen Befehlen und dem dementsprechenden Delimiter deiner .csv Datei kannst du so auf die einzelnen Felder deiner .csv Datei zugreifen.
z.B Erst an den Zeilenumbrüchen splitten und danach am Delimiter (z.B. ";"). Anschließend deine per IniRead ermittelten Werte mit einarbeiten, und die veränderte Zeile wieder in die Variable und abschließend wieder in eine Datei schreiben lassen.
Mangels einer besseren Beschreibung deinerseits, bin ich nicht sicher, ob ich das überhaupt richtig verstanden habe.
____________________
Gruß
AGU |
|
| Nach oben |
|
 |
Uwe
Anmeldedatum: 07.06.2006 Beiträge: 75
|
Verfasst am: Di Sep 19, 2006 4:39 pm Titel: |
|
|
...ich probier mal das ganze etwas besser zu beschreiben.
Die CSV sieht z.B. so aus
Nr;Name;Artikelnummer;Preis;Menge; Kommentare;Beschreibung;
57886;1000;1012;-;Der Preis ist [Preis] hier steht jede [Menge] Text...
Also im Beschreibungstext sind alle Platzhalter. Die wurden da eingebaut, damit ich die csv Datei mit einem Script einfach ersetzen kann.
Beispiel: Ersetze im Kpl. Beschreibungstext meiner csv überall wo [Preis]steht mit dem Text kostenlos. Dort wo [Menge] steht...usw
Ich komme mit FileRead, StringReplace, FileApend nicht weiter! |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1889 Wohnort: Österreich
|
Verfasst am: Di Sep 19, 2006 5:32 pm Titel: |
|
|
| Uwe hat Folgendes geschrieben: | | Ich komme mit FileRead, StringReplace, FileApend nicht weiter! | Dann frage ich mich hier warum nicht?
Sorry, aber ohne Infos oder Codesamples worans scheitert geht nix!
Ich werd einfach nicht schwanger obwohl ich nicht verhüte! Warum?
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
Uwe
Anmeldedatum: 07.06.2006 Beiträge: 75
|
Verfasst am: Di Sep 19, 2006 6:05 pm Titel: |
|
|
Hallo Thalon,
...das ist es ja gerade!
Ich weiß daß ich mit FileRead an die test.csv komme
aber nicht wie es dann weitergeht!
Wie komme ich an das Feld Bezeichnung in meiner CSV ran???
und an den Platzhalter [Preis]
| Code: |
FileRead, line, C:\test.csv
StringReplace, line, Preis, kostenlos, All
FileAppend, %line%, C:\test.csv
|
Ich bin irgendwie total auf dem Holzweg!
Richtig: So wird man nicht schwanger! |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1889 Wohnort: Österreich
|
Verfasst am: Di Sep 19, 2006 8:06 pm Titel: |
|
|
| Zitat: | | Code: | FileRead, line, C:\test.csv
StringReplace, line, Preis, kostenlos, All
FileAppend, %line%, C:\test.csv |
| Hmm... Mir kommts langsam auch so vor als ob du keine Ahnung hättest was du machen möchtest *gg*
Hast du dir die Syntax von StringReplace schon einmal angesehen?
Es müsste wohl eher so aussehen: | Code: | FileRead, FileContent, C:\test.csv
StringReplace, FileContent, FileContent, [Preis], kostenlos, All
StringReplace, FileContent, FileContent, [Menge], 12, All
FileDelete, C:\test.csv
FileAppend, %FileContent%, C:\test.csv |
Ich arbeite persönlich mein Leben gern mit Messageboxen wenn etwas nicht funktioniert.
In deinem Fall hätte ich zwischen jeder der Zeilen folgende Messagebox eingefügt:Dadurch hättest du gesehen, dass der StringReplace-Befehl "line" überschreibt, da die Variable "Preis" wohl nichts enthält...
Ein kleiner Blick in die Syntax des Befehles hätte dann die Ursache auch schnell offenbart.
Ich verwende gerne Strg+Leertaste im PSPad, da man damit den Befehl gleich mit Syntax einfügen lassen kann, wenn man sich nicht sicher ist...
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
Uwe
Anmeldedatum: 07.06.2006 Beiträge: 75
|
Verfasst am: Mi Sep 20, 2006 1:29 pm Titel: |
|
|
Hallo Thalon,
Hut ab vor dem Meister!
Ein kleiner Blick in die Hilfe .... Ich konnte schon vor lauter lesen der Hilfe
nicht mehr klar denken! Rauf und runter getestet...
Ich sage mal wieder D A N K E !
Uwe  |
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|