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 2 von 6     12 34     Letzte » 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

AW: Textimport und export

  Alt 27. Mai 2013, 10:40
Du kannst die Liste ja nicht laden, wenn Du sie im Anschluss erst erzeugst. Außerdem solltest Du vor einem indizierten Zugriff auf eine Zeile sicherstellen, dass auch entsprechend viele Zeilen vorhanden sind.
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
CarlAshnikov

Registriert seit: 18. Feb 2011
Ort: Erfurt
108 Beiträge
 
Delphi XE5 Enterprise
 
#12

AW: Textimport und export

  Alt 27. Mai 2013, 11:07
Mir ist hier noch was aufgefallen:
Delphi-Quellcode:
    
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;
Fehlt hier irgendwie ein begin end hinter dem if oder ist die Einrückung nur Mist?
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: Textimport und export

  Alt 27. Mai 2013, 11:25
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.
Solltest Du wirklich obigen Code compillert haben, solltest Du eigentlich mit einem Zugriffsfehler "belohnt" werden. Alleine dies Tatsache sollte Dich stutzig gemacht haben.

Deine Voraussetzung, die CONF-Datei mit einem beliebigen Editor bearbeiten zu wollen und gleichzeitig eine Adressierung nach Zeile und Position in der Zeile ist zumindestens gefährlich, da viele Editoren Leerzeichen durch Tabulatoren ersetzen und Du damit einen Unterschied zwischen der Angezeigten und der "zeichengezählten" Position erhälst.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#14

AW: Textimport und export

  Alt 27. Mai 2013, 11:28
Wär das mit einer INI nicht leichter ?
Evtl. einfach in die erste Zeile der *.conf irgendwas mit [eckigen Klammern] einfügen und dann die Einträge setzen a la:

http://www.jrsoftware.org/ishelp/ind...pic=inisection
  Mit Zitat antworten Zitat
Benutzerbild von bennySB
bennySB

Registriert seit: 14. Mai 2013
42 Beiträge
 
#15

AW: Textimport und export

  Alt 27. Mai 2013, 11:28
Du kannst die Liste ja nicht laden, wenn Du sie im Anschluss erst erzeugst. Außerdem solltest Du vor einem indizierten Zugriff auf eine Zeile sicherstellen, dass auch entsprechend viele Zeilen vorhanden sind.
Die Datei existiert bei mir auf dem Rechner zum testen bereits, von der Vorgehensweise am Ende ist es ja so das die Datei mit der Setup Routine kopiert wird und dann die Einträge gemacht werden sollen.

Mir ist hier noch was aufgefallen:
Delphi-Quellcode:
    
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;
Fehlt hier irgendwie ein begin end hinter dem if oder ist die Einrückung nur Mist?
Da ist die Einrückung vielleicht nur Mist^^ Aber die procedure Funktioniert so einwandfrei^^
  Mit Zitat antworten Zitat
Benutzerbild von bennySB
bennySB

Registriert seit: 14. Mai 2013
42 Beiträge
 
#16

AW: Textimport und export

  Alt 27. Mai 2013, 11:39
So also an sich sage ich nun einmal das wir den Begriff "Editor" hieraus verbannen^^
Kein Editor hat etwas mit der Installation oder sonstigem zu tun, nur der Code soll auf die *.conf Datei zugreifen welcher nach der Installation eingreifen soll.


Ich habe mir den Code nun einmal so abgeändert das er erst am Ende des Setups´s ausgeführt wird und zum testen wollte ich nun einmal einfach nur eine Zeile einfügen (egal wo), jedoch macht er nicht einmal das.
Liegt es nun daran das er die Datei nicht öffnen kann oder nicht in ihr schreiben kann?

Delphi-Quellcode:
    procedure AfterInstallConf(CurStep: TSetupStep);

    var
      DOSBoxConf : TStringList;

    begin
        if CurStep=ssPostInstall then

          DOSBoxConf := TStringList.Create;
          DOSBoxConf.LoadFromFile('C:\Users\BWolonkieiwicz\AppData\Local\DOSBox\dosbox-SVN_MB6.conf');
          DOSBoxConf.Add('Hallo');
          DOSBoxConf.SaveToFile('C:\Users\BWolonkieiwicz\AppData\Local\DOSBox\dosbox-SVN_MB6.conf');
          DOSBoxConf.Free;
    end;

Edit:
Die Pfadangabe "C:\Users\BWolonkieiwicz\AppData\Local" wird später auch durch "{localappdata}" getauscht, nur zum Testen bleibt nun erstmal der komplette Pfad drin.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Textimport und export

  Alt 27. Mai 2013, 11:44
Das ist wieder das mit der Einrückung und dem fehlenden begin/end, eine Einrückung alleine reicht da nicht.

Delphi-Quellcode:
    procedure AfterInstallConf(CurStep: TSetupStep);

    var
      DOSBoxConf : TStringList;

    begin
        if CurStep=ssPostInstall then
        begin
          DOSBoxConf := TStringList.Create;
          DOSBoxConf.LoadFromFile('C:\Users\BWolonkieiwicz\AppData\Local\DOSBox\dosbox-SVN_MB6.conf');
          DOSBoxConf.Add('Hallo');
          DOSBoxConf.SaveToFile('C:\Users\BWolonkieiwicz\AppData\Local\DOSBox\dosbox-SVN_MB6.conf');
          DOSBoxConf.Free;
        end;
    end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#18

AW: Textimport und export

  Alt 27. Mai 2013, 11:45
Wird diese conf nur von Deinem Programm benutzt, oder ist sie für Inno oder andere Programme relevant? Falls nur Du sie benötigst, solltest Du Dir den gennanten Vorschlag, TIniFile zu benutzen, einmal durch den Kopf gehen lassen.
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
42 Beiträge
 
#19

AW: Textimport und export

  Alt 27. Mai 2013, 12:04
Bevor es weiter geht erst einmal einen riesen Dank an euch, endlich komme ich mal weiter hier^^

Nun wieder ans eingemachte:

Ich schaffe es nun mit der richtigen Syntax (begin und end) die Datei zu beschreiben und das auch an den richtigen Positionen, nur leider kriege ich dort nur einen statischen Text rein und nicht meine Pfadangabe.

Ich habe es mit folgendem Versucht:

Delphi-Quellcode:
    procedure CurStepChanged(CurStep: TSetupStep);

    var
      DOSBoxConf : TStringList;

    begin
        if CurStep=ssPostInstall then
          begin;
          DOSBoxConf := TStringList.Create;
          DOSBoxConf.LoadFromFile('{localappdata}\DOSBox\dosbox-SVN_MB6.conf');
          DOSBoxConf[355] := copy(DOSBoxConf[355],1,9)+'{code:InstallCae}'+copy(DOSBoxConf[355],24,length(DOSBoxConf[355]));
          DOSBoxConf.SaveToFile('{localappdata}\DOSBox\dosbox-SVN_MB6.conf');
          DOSBoxConf.Free;
          end;
    end;
Jedoch schreibt er mir dann auch nur "{code:InstallCae}" als Text in meine Datei und nicht z.B. "D:\CAE2000\"
zudem kommt er auch nicht mit der Variable "{localappdata}" zurecht, solltet ihr da vielleicht einen Tipp haben?^^
Wenn nicht dann muss ich wohl zusätzlich einen Code einbauen in dem das Verzeichnis ermittelt wird oder?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#20

AW: Textimport und export

  Alt 27. Mai 2013, 12:09
Wenn nicht dann muss ich wohl zusätzlich einen Code einbauen in dem das Verzeichnis ermittelt wird oder?
Darauf wird es hinauslaufen. Woher soll denn der Compiler wissen, dass er da einen Platzhalter parsen soll? Für ihn ist ein String ein String, egal was da drin steht.
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
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 05:36 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