AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi edit-felder in schleifen auswerten und checkboxen komplett f
Thema durchsuchen
Ansicht
Themen-Optionen

edit-felder in schleifen auswerten und checkboxen komplett f

Ein Thema von elcomportal · begonnen am 19. Jun 2005 · letzter Beitrag vom 23. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
elcomportal

Registriert seit: 17. Jun 2005
12 Beiträge
 
Delphi 5 Standard
 
#1

edit-felder in schleifen auswerten und checkboxen komplett f

  Alt 19. Jun 2005, 22:17
Hi Leute,
habe gleich 2 Fragen.

1. ich habe ein Programm mit 4x44 Edit-Felder den Inhalt will ich in ein Array schreiben.
Kann ich das irgendwie in einer For Schleife machen. bei 176 Feldern werde ich sonst bekloppt und das Programm riesig.
Das Prinzip:
Delphi-Quellcode:
for help := 1 to 44 do
 str[help] := edit[help].text
Der Code funzt natürlich nicht, soll bloss darstellen was ich möchte.


2. Kann man bei Checkboxen wenn sie angeklickt werden statt des Häkchens die ganze Box schwarz füllen? Natürlich auch wieder umgekehrt.

ne Menge Grüsse an alle
Torsten
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#2

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 19. Jun 2005, 22:24
Hallo Thorsten!

Zunächt einmal: Hier gilt die Regel: "Mehrere Fragen, mehrere Threads"!

Was die Edits betrifft:
a) FindComponent ist Dein Freund - aber langsam.
b) besser ist es, die Edits in ein Array zu packen.

Bei den CheckBoxen gilt: Selber zeichnen!

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
Die 6 Probleme des Programmierers: 1. dauert das länger, als man 2. glaubt, 3. geht das nicht so, wie man sich das 4. schlau überlegt hat, und 5. sitzt der Fehler da, wo man ihn 6. zuletzt sucht
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 19. Jun 2005, 22:43
Hallo,

ich würde die Felder selbst erzeugen und einem Abkömmling von TList zuweisen. Damit sparst du dir auch das Umspeicheren in ein Array.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 20. Jun 2005, 07:33
Hallo Torsten,

den Inhalt deiner Edit-Felder kannst du so abgreifen:

Delphi-Quellcode:
procedure TDemoForm.SaveEditText(sl: TStrings);
var
  i: integer;
  edit: TEdit;
begin
  sl.BeginUpdate;
  sl.Clear;
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TEdit then begin
      edit := Components[i] as TEdit;
      sl.Values[IntToStr(edit.Tag)] := edit.Text;
      // sl.Values[edit.Name] := edit.Text;
    end;
  sl.EndUpdate;
end;
Gespeichert werden die Feldinhalte im Name-Value-Format. Entweder du initialisierst die tag property der Edit-Felder und erhältst sowas wie "1=Inhalt von Edit-Feld mit tag 1" oder du nimmst die auskommentierte Variante und greifst später über den Komponentennamen zu: "Edit1=Inhalt von Feld 1".

Grüße vom marabu
  Mit Zitat antworten Zitat
elcomportal

Registriert seit: 17. Jun 2005
12 Beiträge
 
Delphi 5 Standard
 
#5

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 20. Jun 2005, 21:19
Vielen Dank, für die schnellen Antworten. Da ich aber letzte Nacht Bereitschaft hatte und raus musste, probiere ich es morgen aus.
Viele Grüsse
Torsten
  Mit Zitat antworten Zitat
elcomportal

Registriert seit: 17. Jun 2005
12 Beiträge
 
Delphi 5 Standard
 
#6

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 23. Jun 2005, 18:03
Hi,
also mit dem Auslesen der Edit-Felder klappt das schon mal. AAAAber, ich muss jetzt die Werte aus den Variablen zurückschreiben in die Edit-Felder.

Hab ein bisschen rumprobiert aber bekomme nur Fehlermeldungen.

Delphi-Quellcode:


var
  Form1: TForm1;
  Edit: TEdit;
  help: Integer;
  help2: Integer;
  vtext: array[1..16] of String;


for help:= 1 to 16 do
 begin
  readln(f,str); // aus Textdatei lesen
  vtext[help] := str;
  help2 := help + 12; // weil die Editfelder die Tags 13 bis 28 haben
  edit.tag := Components[help2] as TEdit; // hier kommt Fehler: ungültige Typumwandlung
  edit.text := str; // string ins Edit-Feld schreiben
 end;
Irgendwas mache ich falsch, aber was?
kann mir da bitte nochmal wer auf die Sprünge helfen?
Vielen Dank schon mal.
Mfg
Torsten
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 23. Jun 2005, 18:18
Hi,

edit.tag ist ein integer!!

Gruss
wo
  Mit Zitat antworten Zitat
elcomportal

Registriert seit: 17. Jun 2005
12 Beiträge
 
Delphi 5 Standard
 
#8

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 23. Jun 2005, 18:22
ja, bloss wie geht das denn?

ach so, die Zeile heisst natürlich:
edit.tag := Components[help2] as TEdit; // hier kommt Fehler: ungültige Typumwandlung und nicht wie oben angegeben, aber die Fehlermeldung kommt so wie ich es geschrieben habe.

mfg
Torsten
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 23. Jun 2005, 18:48
Nee, der Trick ist Folgender:
Edit.Tag ist ein Integer. (Tag = engl, 'Etikett', Price tag = 'Preisetikett')
Du weisst deinen ganzen Edit.Tag Feldern unterschiedliche Werte zu. Das sind die Indizes in ein Array Of String (fEditValues)

Werte abholen:
Delphi-Quellcode:
For i:=0 to Componentcount - 1 do
  If Components[i] is TEdit Then Begin
    aMyIndex := TEdit (Components[i]).Tag;
    fEditValues [aMyIndex] := TEdit (Components[i]).Text;
    End;
Wie gehts? Ich gehe alle Komponenten auf der Form durch, wenn die Komponente ein TEdit ist, nehme ich den 'Tag' als Index in mein Array.
Zurückschreiben geht genauso:
Delphi-Quellcode:
For i:=0 to Componentcount - 1 do
  If Components[i] is TEdit Then Begin
    aMyIndex := TEdit (Components[i]).Tag;
    TEdit (Components[i]).Text := fEditValues [aMyIndex];
    End;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: edit-felder in schleifen auswerten und checkboxen komple

  Alt 23. Jun 2005, 18:54
Bei meinem Code Beispiel müssen die Zuweisungen einfach nur umgekehrt werden.

Delphi-Quellcode:
procedure TDemoForm.LoadEditText(sl: TStrings);
var
  i: integer;
  edit: TEdit;
begin
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TEdit then begin
      edit := Components[i] as TEdit;
      edit.Text := sl.Values[IntToStr(edit.Tag)];
      // edit.Text := sl.Values[edit.Name];
    end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:16 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