AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Textimport und export

Ein Thema von bennySB · begonnen am 27. Mai 2013 · letzter Beitrag vom 30. Mai 2013
Antwort Antwort
Seite 1 von 6  1 23     Letzte » 
Benutzerbild von bennySB
bennySB

Registriert seit: 14. Mai 2013
Ort: Neu-Ulm
42 Beiträge
 
#1

Textimport und export

  Alt 27. Mai 2013, 09:04
Guten Tag alle zusammen,

ich hoffe mich absoluten Neuling kann hier einer mal am Arm packen und in die richtige Richtung werfen *gg*

Ich habe mir mit dem Programm "Inno Setup" eine *.exe erstellt welche auch tadellos funktioniert, nur noch nicht ganz fertig ist und genau der Punkt der noch offen ist ist für mich der Schwerste^^

Meine *.exe installiert ein paar Anwendungen welche nicht der Rede wert sind (keine Treibe, DLL´s, Registrierungseinträge o.ä.).
Es sind einfach nur ein paar Dateien welche in ein vom Benutzer wählbares Instalationsverzeichnis kopiert werden, zwei Dateien die nach "localappdata" kopiert werden und eine Datei die in ein zusätzlich vom Benutzer gewähltest Verzeichnis kopiert wird.
Mir geht es nun um eine *.conf Datei welche mit jedem Editor bearbeitbar ist, denn in diese müssen die vom Benutzer gewählten Pfadangaben nach dem kopieren der Datei an bestimmte Positionen eingetragen werden.

Natürlich habe ich schonmal versucht etwas selbst hin zu kriege mit FileToString als AnsiString und StringToFile, jedoch hapert es da bei mir bissl an der Erfahrung und dem Verständnis.

Nun hoffe ich das mir jemand bei meinem Vorhaben helfen kann, sollten noch Fragen jeglicher Art vorhanden sein so stürzt euch auf mich.


MfG Benny

Zur Veranschaulichung mal meinen bisherigen Code:

Delphi-Quellcode:
  var
    UserDirPage : TInputDirWizardPage;
    UserFolder : string;

    function InitializeSetup: boolean;

      begin
        UserFolder := '';
        Result := true;
      end;

    function InstallCae(Param:String):String;

      begin
        result := UserDirPage.Values[0] ;
      end;

    procedure InitializeWizard;

      begin
      UserDirPage := CreateInputDirPage(wpSelectDir,
      ExpandConstant('{cm:CAEVerzeichnis}'),
      ExpandConstant('{cm:SpeicherortPRTDEF}'),
      ExpandConstant('{cm:SpeicherzielPRTDEF}'),
      false,
      'Neuer Ordner');

      //"Klicken sie weiter..." Meldung
      UserDirPage.Add(SetupMessage(msgSelectDirBrowseLabel));

      //Standardpfad in der Verzeichnisauswahl
      UserDirPage.Values[0] := ExpandConstant(
      'C:\CAE2000\');
      end;

    procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); //Code für deinstallation

      begin
        if CurUninstallStep=usPostUninstall then

            FileCopy('{code:InstallCae}\Backup\PRTDEF.GER','{code:InstallCae}\PRTDEF.GER',false);
            DelTree('{code:InstallCae}\Backup\*', true, true, true);

      end;
Benny
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Textimport und export

  Alt 27. Mai 2013, 09:18
Ich weiß jetzt nicht ganz genau, ob ich dich richtig verstanden habe, wenn du diese config-Datei im Editor bearbeiten lassen magst, könntest du von Delphi aus einfach den Editor folgendermaßen aufrufen:
  ShellExecute(0, NIL, PCHAR('"NOTEPAD.EXE"'), PCHAR('"' + DATEINAME + '"'), NIL, SW_SHOWDEFAULT);
  Mit Zitat antworten Zitat
Benutzerbild von bennySB
bennySB

Registriert seit: 14. Mai 2013
Ort: Neu-Ulm
42 Beiträge
 
#3

AW: Textimport und export

  Alt 27. Mai 2013, 09:24
Nee nee nee, sorry da hab ich mich etwas undeutlich ausgedrückt.

Das mit dem Editor habe ich nur erwähnt das ihr wisst um was es sich handelt, also das es keine HEX Werte oder sonstiges sind, sondern reiner Klartext der in der Datei vorhanden ist.

Ich möchte nun durch z.B. StringToFile erreichen das diese Pfadangaben automatisch in die *.conf Datei eingetragen werden, sodass kein Benutzer darin arbeiten muss (denn ich kenne meine Pappenheimer und weiß das viele es nicht schaffen werden, egal wie gut man es erklärt *gg*)
Benny
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Textimport und export

  Alt 27. Mai 2013, 09:28
OK, dann rate ich zu einer TStringList, so in der Art:

Delphi-Quellcode:
procedure Fillconf;
var
  aList : TStringList;

begin
  aList := TStringList.Create;
  aList.Add('Textzeile');
  aList.Add('noch eine Zeile');
  aList.SaveToFile('c:\temp\test.conf');
  aList.Free;
end;
EDIT: Wenn vorher schon was drin steht kannst zuvor ein aList.LoadFromFile machen.
  Mit Zitat antworten Zitat
Benutzerbild von bennySB
bennySB

Registriert seit: 14. Mai 2013
Ort: Neu-Ulm
42 Beiträge
 
#5

AW: Textimport und export

  Alt 27. Mai 2013, 09:33
Soweit ich weiß fügt diese Methode die Daten immer ans Ende der Datei mit ein oder?

Natürlich habe ich vergessen zu erwähnen das es bestimmte Positionen sind an denen die Pfadangaben eingetragen werden müssen.

Im genauen wären es:

Installationsverzeichnis der Anwendung: Zeile 299, Cursorposition 23 und Zeile 357, Cursorposition 10
Zusätzlich gewähltes Verzeichnis über function "InstallCae": Zeile 356, Cursorposition 10


Das wären die Stellen an denen es eingetragen werden muss.
Benny
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Textimport und export

  Alt 27. Mai 2013, 09:47
Wie gesagt mit LoadFromFile bekommst die gesamte conf-Datei erstmal in die Stringliste rein. Die StringList beginnt immer mit 0. Also aList[0] wäre dann die erste Zeile. Mithilfe der copy-Funktion kannst du dann diesen String ändern, ungefähr so:

aList[298] := copy(aList[298],1,23)+'einzufügender Text'+copy(aList[298],24,length(aList[298])); (Hinweis: Code ungetestet)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.314 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Textimport und export

  Alt 27. Mai 2013, 10:15
Crossposts bitte in Zukunft untereinander verlinken.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von bennySB
bennySB

Registriert seit: 14. Mai 2013
Ort: Neu-Ulm
42 Beiträge
 
#8

AW: Textimport und export

  Alt 27. Mai 2013, 10:17
Ahh okay sorry das wusste ich noch nicht das dies so zusammen gehört, mein Fehler.
Benny
  Mit Zitat antworten Zitat
Benutzerbild von bennySB
bennySB

Registriert seit: 14. Mai 2013
Ort: Neu-Ulm
42 Beiträge
 
#9

AW: Textimport und export

  Alt 27. Mai 2013, 10:38
Hmmm ich habe nun einmal folgenden Code eingebaut

Delphi-Quellcode:
    procedure AfterInstallConf();
    
    var

    aList : TStringList;

    begin
      aList.LoadFromFile('C:\Users\BWolonkieiwicz\AppData\Local\DOSBox\dosbox-SVN_MB6.conf');
      aList := TStringList.Create;
      aList[361] := copy(aList[361],1,1)+'Hallo'+copy(aList[361],24,length(aList[361]));
      aList.SaveToFile('C:\Users\BWolonkieiwicz\AppData\Local\DOSBox\dosbox-SVN_MB6.conf');
      aList.Free;
    end;
Jedoch finde ich nach dem durchführen der *.exe keinen Eintrag "Hallo" bzw. es ändert sich nichts.
Benny
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

AW: Textimport und export

  Alt 27. Mai 2013, 10:39
Ein LoadFromFile kann erst funktionieren, wenn die TStringListe zuvor erzeugt(Create) wurde.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf