AGB  ·  Datenschutz  ·  Impressum  







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

Erstellen eines Eingabeformulars

Ein Thema von davar · begonnen am 2. Apr 2006 · letzter Beitrag vom 2. Apr 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 12:41
Evtl. Assembler? Naja, ich glaube das führt hier zu weit.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 12:46
http://www.delphipraxis.net/internal...ct.php?t=45131
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 13:56
Zitat von 3_of_8:
Gibts bei Delphi 3 noch keine dynamischen Arrays?
Wie würde es denn ohne dynamische Arrays aussehen?

Ich habe die Zeile mal geändert in
a: array [1..10] of TCheckBox; aber dann kommt weiter unten in den Zeilen

Delphi-Quellcode:
a[I,J]:=TCheckBox.Create(Self);
a[I,J].parent:=self;
a[I,J].width:=16;
a[I,J].height:=16;
a[I,J].left:=8+I*24;
a[I,J].top:=8+J*24;
a[I,J].visible:=True;
a[I,J].enabled:=True;
bei "a[I,J]"
die Fehlermeldung "Array-Typ erforderlich."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 14:04
Du hast a ja nur als eindimesnionalen Array definiert, verwendest aber 2 Dimensionen!

a: array[1..10,1..10] of TCheckBox;
Markus Kinzler
  Mit Zitat antworten Zitat
davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 14:11
Zitat von mkinzler:
Du hast a ja nur als eindimesnionalen Array definiert, verwendest aber 2 Dimensionen!

a array[1..10,1..10] of TCheckBox;
Da muss man natürlich drauf kommen, Danke!

Aber die Meldungen wollen nicht aufhören..

Jetzt bekomm ich beim Beenden die Fehlermeldung "Runtime Error 216 at 00002AD0"....
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 14:29
Ich hab mal das obige Programm angeschaut, du solltest den Array so definieren:

a: array[0..10,0..10] of TCheckBox; weil ja die Grenzen so verwendet werden (Scheife).
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 14:47
Wo genau? Wenn dir keine genaue Zeile angezeigt wird, setze bei jeder Anweisung nen Haltepunkt.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 14:50
Zitat von mkinzler:
Ich hab mal das obige Programm angeschaut, du solltest den Array so definieren:

a: array[0..10,0..10] of TCheckBox; weil ja die Grenzen so verwendet werden (Scheife).
Daran hat's gelegen. Nochmals Danke!

MfG

davar
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 15:36
Variabel ist das ganze dann natürlich nicht mehr... Leg dir mal ne Delphi 7 Personal oder so zu... auf Englisch am besten, da haste gleich ne Lizenz für Weitergabe von Anwendungen dabei.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#20

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 16:13
Warum überhaupt Verweise auf die Checkboxen in einem Array speichern? Wenn man beim Erzeugen einer Checkbox einen Owner übergibt, übernimmt der doch die komplette Verwaltung. Durch einen geschickte Benennung der Komponenten kann man sie bei Bedarf über die Methode FindComponent des Owners suchen.

Wir benötigen zunächst eine Routine zum Erzeugen eines Namens für die Checkbox in Reihe aRow, Spalte aCol:
Delphi-Quellcode:
function TForm1.GetCheckboxName (aRow, aCol: Integer): string;
begin
  Result := Format('cxR%.3dC%.3d', [aRow, aCol]);
end;
Die folgende Routine liefert einen Zeiger auf die Checkbox in Reihe aRow, Spalte aCol:
Delphi-Quellcode:
function TForm1.FindCheckbox (aRow, aCol: Integer): TCheckBox;
begin
  Result := FindComponent(GetCheckboxName(aRow, aCol)) AS TCheckBox;
end;
Nun kann man die Checkboxen erzeugen:
Delphi-Quellcode:
var row, col : Integer;
    box : TCheckBox;

begin
  for row := 0 to 9 do
    for col := 0 to 9 do
    begin
      box := TCheckBox.Create(Self);
      box.Parent := Self;
      box.Name := GetCheckboxName(row, col);
      box.SetBounds (8 + 16 * col, 8 + 16 * row, 14, 14);
      box.Caption := '';
    end;
end;
Der Zugriff auf die Checkbox in Zeile row, Spalte col erfolgt dann z. B. so:
FindCheckbox(row, col).Checked := True; Zusätzlich könnte man die Funktion FindCheckbox noch als Getter-Methode für ein Array-Property benutzen.
Für den produktiven Einsatz sollte natürlich noch eine Überprüfung der Parameter in FindCheckbox eingebaut werden.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 07:10 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