AGB  ·  Datenschutz  ·  Impressum  







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

aus ini lesen problem

Ein Thema von mOzZzI · begonnen am 27. Feb 2006 · letzter Beitrag vom 27. Feb 2006
Antwort Antwort
Benutzerbild von mOzZzI
mOzZzI

Registriert seit: 11. Nov 2005
Ort: Bamberg
320 Beiträge
 
Delphi 2006 Professional
 
#1

aus ini lesen problem

  Alt 27. Feb 2006, 16:09
Hai,

meine ToolBar ist jetzt zu 75% fertig, also freut euch drauf! ^^

Ein kleines Problem hab ich aber noch:

Delphi-Quellcode:
procedure TForm1.SpeedButton6Click(Sender: TObject);
var ini: TiniFile;
begin
   ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'Einstellungen\'+'config.dat');
   try
  ExecuteProgramm(ini.ReadString('BUTTONS', 'SpeedButton6', ''));
   finally
    ini.Free
   end;
end;
Bei dieser Stelle:
ExecuteProgramm(ini.ReadString('BUTTONS', 'SpeedButton6', '')); öffnet er den Arbeitsplatz, abwohl in der ini überhaupt kein Wert drinsteht...
Kann mir da jemand weiterhelfen?
--Mfg mozZzI--------------
Get & Test my ToolBar (550 KB)
Thread & Comments Here
------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Kurze Frage zu Code

  Alt 27. Feb 2006, 16:17
Zitat:
Kurze Frage zu Code
hat das nicht jeder?
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von mOzZzI
mOzZzI

Registriert seit: 11. Nov 2005
Ort: Bamberg
320 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Kurze Frage zu Code

  Alt 27. Feb 2006, 16:18
Zitat von TeronG:
Zitat:
Kurze Frage zu Code
hat das nicht jeder?
LÖL


//Edit:
Titel geändert!!!
--Mfg mozZzI--------------
Get & Test my ToolBar (550 KB)
Thread & Comments Here
------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#4

Re: aus ini lesen problem

  Alt 27. Feb 2006, 16:36
ExecuteProgramm('Filename') sagt mir grade nix aber prüf doch einfach, ob n gültiger wert vorhanden ist und öffne erst dann die Datei.

evtl. mit FileExists('Filename')
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: aus ini lesen problem

  Alt 27. Feb 2006, 16:42
Wen kein Parameter übergeben wird ist das mormal.
Prüfe vorher ob in der INI bzw. dem Eintrag etwas steht.

Delphi-Quellcode:
var ZuStartendesProgramm : string;

begin
  ZuStartendesProgramm := ini.ReadString('BUTTONS', 'SpeedButton6', '');
  if ZuStartendesProgramm <> 'then ExecuteProgramm( ZuStartendesProgramm )
    else ShowMessage('Kein Eintrag');

  // ...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#6

Re: aus ini lesen problem

  Alt 27. Feb 2006, 16:47
mür würde das so besser gefallen ... da wird dann gleich geprüft, ob es diese Datei auch giebt (falls man diese per Hand (falsch) eingetippt hat oder sie nachträglich gelöscht/verschoben hat/wurde.)
Delphi-Quellcode:
var ZuStartendesProgramm : string;

begin
  ZuStartendesProgramm := ini.ReadString('BUTTONS', 'SpeedButton6', '');
  if FileExists(ZuStartendesProgramm)
    then ExecuteProgramm( ZuStartendesProgramm )
    else ShowMessage('Kein Eintrag / Keine gültige Datei.');

  // ...
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: aus ini lesen problem

  Alt 27. Feb 2006, 16:57
Das kannst du gern machen, ich bevorzuge es als erstes zu Prüfen ob ReadString überhaupt einen Eintrag enthält. Dann Schauen ob es das File gibt...

Delphi-Quellcode:
var ZuStartendesProgramm : string;

begin
  ZuStartendesProgramm := ini.ReadString('BUTTONS', 'SpeedButton6', '');
  if ZuStartendesProgramm <> 'then
  begin
    if FileExists(ZuStartendesProgramm)
     then ExecuteProgramm( ZuStartendesProgramm )
      else ShowMessage( 'Datei nicht gefunden' );

  end else
  begin
    ShowMessage('Kein Eintrag in der Ini enthalten...');
  end;


  // ...
Wobei zu beachten ist das mit FileExists geprüft wird ob eine datei vorhanden ist. Wenn in dem Eintrag nur Notepad.exe ohne Pfad steht kommt eine Fehlermeldung obwol das Programm ausgeführt werden könnte.
Desswegen ist es besser den Rückgabewert vom ShellExecute nach dem ausführen abzufragen...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#8

Re: aus ini lesen problem

  Alt 27. Feb 2006, 17:51
vielleicht sollte man auch direkt überprüfen ob das aufzurufende Programm den richtigen Dateitypen hat

Delphi-Quellcode:
var ZuStartendesProgramm : string;

begin
  ZuStartendesProgramm := ini.ReadString('BUTTONS', 'SpeedButton6', '');
  if ZuStartendesProgramm <> 'then
    if FileExists(ZuStartendesProgramm) then
      if ExtractFileExt(ZuStartendesProgramm) in ['.exe','.bat','.com','.scr'] then
        ExecuteProgramm(ZuStartendesProgramm)
      else ShowMessage('Falscher Dateityp')
    else ShowMessage('Datei nicht gefunden')
  else ShowMessage('Kein Eintrag in der Ini enthalten...');
geht das so mit dem set?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: aus ini lesen problem

  Alt 27. Feb 2006, 17:55
Und was ist mit *.scr ?!

// 'nu hat er es noch schnell hinzugefügt
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  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 18:24 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