![]() |
Re: Anfänger sucht....
Ich schätze mal, dass du das hier sehen willst?!:
Delphi-Quellcode:
Das zuweisen direkt mit einem String geht, jedoch das mit der Stringlist nicht?????RbAntw[0].caption := 'A'; // -------------------- RbAntw[1].caption := 'B'; // RbAntw[2].caption := 'C'; // Belegen der Antwortbuttons mit Text!! RbAntw[3].caption := 'D'; // RbAntw[4].caption := (Fragenlist.strings[6]); //---------------------- allshoot |
Re: Anfänger sucht....
Die Fragenlist hast du ebenfalls erzeugt?
|
Re: Anfänger sucht....
Also:
- du initialisierst jeden TRadiobutton - du initialisierst die Stringlist wie schreibst du denn in die Stringlist? (vielleicht ist es ja das, unwahrscheinlich) |
Re: Anfänger sucht....
Jap, sie wird geladen und ich kann sie so
Delphi-Quellcode:
auch wieder abspeichern, ist dann eine genau Kopie davon.
Fragenlist := TStringList.Create;
Fragenlist.LoadFromFile('Fragen.txt'); Fragenlist.SaveToFile('Fragen2.txt'); Die Textdatei besteht dann aus einzelnen unterschielich langen Zeilen mit CR und LF. allshoot |
Re: Anfänger sucht....
Ich möchte gerade noch einmal darauf hinweisen:
Zitat:
|
Re: Anfänger sucht....
Editieren? Habe den Code doch als Code gekennzeichnet, noch mehr??
allshoot |
Re: Anfänger sucht....
Zitat:
|
Re: Anfänger sucht....
Zitat:
|
Re: Anfänger sucht....
Delphi-Quellcode:
Funktioniert einwandfrei...
procedure TForm1.Button1Click(Sender: TObject);
var Fragenlist : TStringlist; RbAntw : Array[0..4] of TRadioButton; ii : Integer; begin For ii := Low(RbAntw) to High(RbAntw) do RbAntw[ii] := TRadioButton.Create(Form1); Fragenlist := TStringList.Create; Fragenlist.LoadFromFile('C:\Fragen.txt'); Fragenlist.SaveToFile('C:\Fragen2.txt'); try RbAntw[0].Caption := 'A'; RbAntw[1].Caption := 'B'; RbAntw[2].Caption := 'C'; RbAntw[3].Caption := 'D'; RbAntw[4].Caption := Fragenlist.Strings[6]; finally Fragenlist.Free; For ii := Low(RbAntw) to High(RbAntw) do (RbAntw[ii] as TRadioButton).Free; end; end; |
Re: Probleme beim zuweisen von StringList zu RadioButton
Danke ken_jones,
aber nimmt er nicht an, kommt die selbe Fehlermeldung, wenn ich meinen Quellcode so anpasse. Ist wohl etwas viel Text hier, aber ich poste mal das kompl. Ding:
Delphi-Quellcode:
Vielleicht (oder bestimmt) erkennt einer den Bug.
type
TForm1 = class(TForm) LbText: TLabel; Ikreuz: TImage; BtWeiter: TButton; LbName: TLabel; LbDstGrd: TLabel; LbEinheit: TLabel; LbTE: TLabel; EdName: TEdit; EdDstGrd: TEdit; EdEinheit: TEdit; EdTE: TEdit; LbPK: TLabel; EdPK: TEdit; procedure BtWeiterClick(Sender: TObject); procedure BtSchliessenClick(Sender: TObject); procedure Lb_change (name : TLabel; Beschriftung : string; l, t, w, h :integer); {procedure n_RB_create (Anzahl, L, T, Abstand, W, H : integer);} procedure AntwSpeichern; procedure FragenLaden; private public Zaehler:integer; FragenList : tStringlist; end; var Form1: TForm1; RbAntw: array[0..4] of TRadioButton; // AntwortButtons erstellen Druckform : String; // Abgelegte Prüfung speichern Pruefung : TStringList; // Zum abspeichern der eingegeben Daten implementation uses UFuGerBed2; {$R *.DFM} {---------------------------Laden des Fragekatalogs----------------------------} procedure TForm1.Fragenladen; begin Fragenlist := TStringList.Create; Fragenlist.LoadFromFile('Fragen.txt'); Fragenlist.SaveToFile('Fragen2.txt'); end; {---------------------------Abfragen der Radio-Buttons-------------------------} procedure TForm1.AntwSpeichern; var i : integer; begin Pruefung.Add(LbText.Caption); for i := 0 to 4 do begin If RbAntw[i].Checked then begin Pruefung.Add(RbAntw[i].caption); Pruefung.Add(' '); Pruefung.SaveToFile(Druckform); end; end; end; {{---------------------------Erstellen von n RadioButtons---------------------- procedure TForm1.n_RB_create (Anzahl, L, T, Abstand, W, H : integer); var NewButton : TRadioButton; i : integer; begin For i:=0 to ((Anzahl)-1) do begin NewButton := TRadioButton.create(Form1); With NewButton Do begin Parent := Form1; Left := (L); Top := (T + (i * Abstand)); Width := (W); Height := (H); Name := 'RbAntw' + inttostr(i+1); Caption := 'Antwort' + inttostr(i+1); visible := true; end; end; end; } {---------------------------Ändern eines beliebigen Labels---------------------} procedure TForm1.Lb_change (name : TLabel; Beschriftung : string; l, t, w, h :integer); begin with name do begin left := (l); top := (t); width := (w); height := (h); caption := Beschriftung; end; end; {---------------------------Schließen-Knopf------------------------------------} procedure TForm1.BtSchliessenClick(Sender: TObject); begin AntwSpeichern; pruefung.Free; close; end; {---------------------------Weiter-Knopf---------------------------------------} procedure TForm1.BtWeiterClick(Sender: TObject); var i : integer; // Zählvariable für die Schleifen begin if zaehler = 2 then begin AntwSpeichern; Lb_change(LbText, 'Frage 1.274: An welchem Schalter mache ich die Annanas?', 56, 48, 761, 137); RbAntw[0].caption := 'A'; // -------------------- RbAntw[1].caption := 'B'; // RbAntw[2].caption := 'C'; // Belegen der Antwortbuttons mit Text!! RbAntw[3].caption := 'D'; // RbAntw[4].caption := 'E'; //---------------------- Form2.visible := true; BtWeiter.Caption := 'Schließen'; //Text auf dem "Weiter"-Button ändern BtWeiter.OnClick := BtSchliessenClick; //Hier festlegen des neuen Handelns end; // beim klicken auf den Button if zaehler=1 then // Eingabeseite Name begin Druckform := ((EdName.Text) + '.txt');//Legt Namen der Datei fest Pruefung := TStringlist.Create; // Erstellen eine TStringList try pruefung.Add(LbName.Caption + ' ' + EdName.Text); //---------------- pruefung.Add(LbDstGrd.caption + ' ' + EdDstGrd.Text); // pruefung.add(LbPK.caption + ' ' + EdPK.Text); // pruefung.Add(LbEinheit.caption + ' ' + EdEinheit.Text); // Abspeichern der Inhalte pruefung.Add(LbTE.caption + EdTE.Text); // der Inhalte der Edit-Fenster pruefung.Add(' '); // pruefung.Add(' '); // pruefung.Add(' '); // pruefung.SaveToFile(Druckform); //---------------- finally {pruefung.Free; // Löschen der TStringList} end; Lb_change(LbText, 'Frage', 56, 48, 761, 137); // Ändern eines beliebigen Labels LbText.Font.Style := []; LbName.free; //------------------------- EdName.free; // LbDstGrd.free; // EdDstGrd.free; // LbPK.free; // EdPK.Free; //Löschen der Eingabe-Felder LbEinheit.free; // EdEinheit.free; // LBTE.free; // EdTE.free; //------------------------- {----------Erstellen der Antwortbuttons----------} for i := 0 to 4 do begin RbAntw[i] := TRadioButton.create(Form1); //Erstellen des jeweiligen Buttons in Array[i] with RbAntw[i] do begin parent := Form1; // Besitzer festlegen Left := 112; // | Top := 220+ (i * 70); // |Größe und Position Width := 601; // |festlegen! Height := 41; // | Caption := 'Antw' + inttostr(i+1); // Angezeigter Text zu dem Button festlegen! end; end; inc(zaehler); end; if zaehler=0 then //Startseite begin Lb_change(LbText, 'Bitte geben sie hier die geforderten Daten ein:', 172, 96, 513, 27); // Ändern eines beliebigen Labels LbText.Font.Style := [fsunderline]; // Text des Labels wird unterstrichen!! Ikreuz.free; // Bild mit dem Kreuz löschen LbName.Visible := true; //---------------------------------------- EdName.Visible := true; // LbDstGrd.Visible := true; // EdDstGrd.Visible := true; // LbPK.visible := true; // Labels + Edits der EdPK.Visible := true; // Namensabfrage LbEinheit.Visible := true; // sichtbar machen EdEinheit.Visible := true; // LBTE.Visible := true; // EdTE.Visible := true; //---------------------------------------- inc(zaehler); end; end; end. THX allshoot |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz