AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Werteübergabe

Ein Thema von Hellcat · begonnen am 24. Mär 2003 · letzter Beitrag vom 26. Mär 2003
Antwort Antwort
Seite 2 von 2     12
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#11
  Alt 26. Mär 2003, 09:42
Sorry, da hatte sich ein Schreibfehler eingeschlichen...selbstverständlich ist es nach wie vor noch eine Prozedur

Delphi-Quellcode:
procedure speichern (Hname, Zeit, HFarbe: string; Schl, THL, Sound:boolean);
var save: Textfile;
begin
  AssignFile (save, 'zustand.hbl');
  {$i-} Append (save){$i+};
  if IOResult <> 0 then
    begin
      showmessage ('Die Datei "Zustand.hbl" wurde nicht gefunden!');
      exit;
    end;
  writeln (Save, TimeToStr(now) +';'+ HName +';'+ Zeit +';'+ HFarbe +';'+
            BoolToStr(Schl) +';'+ BoolToStr (THL) +';'+ BoolToStr (Sound));
  closeFile(Save);
end;
Und der Aufruf sieht derzeit aus wie folgt:
Delphi-Quellcode:
procedure TForm1.Speichern1Click(Sender: TObject);//Menüpunkt "Speichern"
var i: integer;
begin
  for i := 1 to 35 do
    begin
      speichern((FindComponent('PanLab' + IntToStr(i)) as TLabel) .Caption,
                (FindComponent('PanLabT' + Inttostr(i)) as TLabel).caption,
                IntToHex(((FindComponent('PanHalle' + InttoStr(i))as TPanel).Color),6),
                StrToBool('bildTHL'+IntToStr(i)),
                StrToBool('bildSchl'+IntToStr(i)),
                StrToBool('bildSound'+IntToStr(i)) );
    end;
end;
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Benutzerbild von X-Dragon
X-Dragon

Registriert seit: 14. Jan 2003
Ort: Schortens
289 Beiträge
 
Delphi 6 Enterprise
 
#12
  Alt 26. Mär 2003, 11:40
Gibts eine Fehlermeldung(wenn wo?) oder werden die Daten falsch gespeichert, oder läuft es jetzt inzwischen?
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#13
  Alt 26. Mär 2003, 12:02
Wenn ich bei meinem Programm auf "Speichern" klicke erhalte ich die Meldung:
"Project Halbel.exe raised exception class EConvertError with message ''BildTHL1' is not a vaild boolean value'. Process stopped.[...]"

Ist ja auch logisch, da er laut meinen anweisungen 'BildTHL1' in einen boolschen Wert umrechnet - und kann ja nicht klappen. Die Frage ist aber wie geht das die Variblen zuzuweisen mittels der For-Schleife...
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Benutzerbild von X-Dragon
X-Dragon

Registriert seit: 14. Jan 2003
Ort: Schortens
289 Beiträge
 
Delphi 6 Enterprise
 
#14
  Alt 26. Mär 2003, 12:20
Kannst du noch die Deklaration deiner Variablen posten? Denn ohne genaue Bezeichnungen und den jeweiligen Datentypen, ist die Fehlersuche etwas schwierig .

Um einen Fehler grundsätzlich genauer zu lokalisieren kannst du am besten einen Breakpoint z.B. am Anfang deiner Speichern.Click-Prozedur setzen und dann mit F7 Zeile für Zeile dein Programm testen.
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#15
  Alt 26. Mär 2003, 12:32
Stimmt, macht Sinn
Delphi-Quellcode:
   {Halle 1}
    bildTHL1: boolean = false; // Variable für Bild "Hallenleiter", Halle 1
    BildSchl1: boolean = false; // Variable für Bild "Schloß", Halle 1
    bildSound1: boolean = false; // Variable für Bild "Sound", Halle 1
Um den Fehler mal zu päzesieren:
Ich will folgendes übergeben:

BildTHL1

und übergebe aber:

'BildTHL1'

Wenn ich nur diese eine Variable übergeben müsste könnte ich sie ja einfach hinschreiben, ich muss aber leider die Variable mit den Zahlen 1-35 am Ende übergeben...
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Benutzerbild von X-Dragon
X-Dragon

Registriert seit: 14. Jan 2003
Ort: Schortens
289 Beiträge
 
Delphi 6 Enterprise
 
#16
  Alt 26. Mär 2003, 13:13
Bei solchen Variablen würde ich eher empfehlen, sie in so einem Format zu definieren:

Delphi-Quellcode:
var
  bildTHL : array[1..35] of Boolean;

begin
  for i := 1 to 35 do
    bildTHL[i] := False;
Sollte die Handhabung etwas vereinfachen. Denn dann brauchst du deine Boolschen-Variablen auch nicht erst zu einem String zusammensetzen, sonder kannst sie direkt [i]BoolToStr(bildTHL) nutzen.
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#17
  Alt 26. Mär 2003, 15:01
Ok, jetzt geht's. Vielen Dank!
2+2=5 (for large values of 2)
  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 19:07 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