AGB  ·  Datenschutz  ·  Impressum  







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

Text in Checkbox oder Label anzeigen

Ein Thema von JimmyB · begonnen am 24. Sep 2022 · letzter Beitrag vom 25. Sep 2022
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#1

AW: Text in Checkbox oder Label anzeigen

  Alt 25. Sep 2022, 11:31
Möchtest du nicht lernen den einen Knopf mit dem Helm zu benutzen?
[DELPHI] ... [/DELPHI]

Man arbeitet niemals mit relativen Pfaden!!!
Bzw. man expandiert sie selber,
weil
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  SetCurrentDir('C:\');
  // das Programm muß beim Start garnicht im Arbeitsverzeichnis liegen (bzw. das Arbeitsverzeichnis muß nicht dem der EXE entsprechen)
  // und z.B. ein OpenDialog ändert auch gern das Arbeitsverzeichnis.
  if not FileExists('Fragen.txt') then
    ShowMessage('Peng');
Was heißt "scheibar"?

Was sagt denn der Debugger?
Haltepunkt vor die Schleife, mit [F9] starten und dann Zeilenweise [F8] nachsehen.


Und falls mal irgendwas schief geht, benutzt man immer einen Ressourcenschutzblock.
In Bezug auf die uralten Datei-Funktionen könnte man auch die Fehlerbehandlung abschalten, aber muß dann auch selber auf IOResult achten, also macht es keinen großen Unterschied.

Delphi-Quellcode:
AssignFile(myfile, ExtractFilePath(Application.ExeName) + 'Fragen.txt');
Reset(myfile);
try
  ...
finally
  Closefile(myfile);
end;
Delphi-Quellcode:
SL := TStringList.Create;
try
  SL.LoadFromFile(myfile, ExtractFilePath(Application.ExeName) + 'Fragen.txt');
  ...
finally
  SL.Free;
end;

Nja, viele Wege nach Rom .... ähhh, viele Funktionen/Klassen stehen zur Auswahl und hier mal die Aktuellste.
(rate mal, warum ich so atomare Funktionen, wie Delphi-Referenz durchsuchenTFile.ReadAllLines TFile.ReadAllLines, mag ... schön kurz, automatische Speicherverwaltung und Fehlerbehandlung integriert)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Lines: TArray<string>;
  i: Integer;
begin
  if not FileExists(ExtractFilePath(Application.ExeName) + 'Fragen.txt') then
    raise Exception.Create('Die Datei mit den Fragen wurde nicht gefunden.');

  Lines := TFile.ReadAllLines(ExtractFilePath(Application.ExeName) + 'Fragen.txt');
  for i := 0 to High(Lines) do
    (FindComponent('Checkbox' + IntToStr(i)) as TCheckBox).Caption := Lines[i];
  redDisplay.Lines.AddAddStrings(Lines);
end;
Statt vieler TCheckBox nur eine TCheckListBox.
Delphi-Quellcode:
CheckListBox.Items.Clear;
CheckListBox.Items.AddAddStrings(Lines);
Oder wenn eh nur eine Antwort/Frage gewält werden kann,
dann TRadioButton, anstatt TCheckBox,
bzw. auch gleich eine TRadioGroup.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (25. Sep 2022 um 11:41 Uhr)
  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 05:56 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