AGB  ·  Datenschutz  ·  Impressum  







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

Edit mit variabler Nummer

Ein Thema von traudl · begonnen am 8. Dez 2004 · letzter Beitrag vom 13. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
traudl

Registriert seit: 22. Jun 2004
Ort: Lauterach
37 Beiträge
 
Delphi 7 Enterprise
 
#1

Edit mit variabler Nummer

  Alt 8. Dez 2004, 19:45
[b]Hallo DPler. Ich hab da mal ne blöde Frage. Ich hab ein Projekt in VB programmiert und bi jetzt umgestiegen auf DP. Mein Problem: Ist es Möglich eine Edit komponente zu nummerieren? zB. Edit[1] anstatt Edit1. Habe schon die Edit komponente umgeschrieben damit ich den Text zentrieren kann, aber die Funktion wäre absolut hilfreich, da ich ca 40 Editfelder habe und diese teilweise gleich behandle wegen focus und keypress ereignissen und so.
Hat jemand eine Idee. Bin langsam echt am verzweifeln.

Danke
Gruß Udo
Udo Kinscherf
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#2

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 19:47
Erstell doch eine Array

Edit: array[1..40] of TEdit; Dann kannst dein edit immer mit
Edit[Nummer] ansprechen

//Edit: Hups syntax Fehler - korriegiert!

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 19:48
Entweder mit einem Array of TEdit oder in einer Schleife und dann mittels FindComponent draufzugreifen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 19:50
Dieses visuelle erstellen eines Arrays, wie dieses unter VB möglich ist, geht in Delphi nicht. Irgendwann habe ich mal eine einleuchtende Erklärung dazu gelesen, leider diese aber nicht parat.

Wie dem auch sei, erstelle die Komponenten im Form-OnCreate Ereignis dynamisch und schiebe sie dann in ein Array. Das ist ohnehin die elegantere Lösung

Ansonsten kannst Du beim Start Dein Array auch nachträglich mit Hilfe einer Schleife und Hier im Forum suchenFindComponent füllen.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
traudl

Registriert seit: 22. Jun 2004
Ort: Lauterach
37 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 20:12
Also ich erstelle alle Editfelder mit dem OnCreate Ereignis und bilde daraus einen Array und greife darauf zu. Jetzt habe ich den Fehler Undefinierter Bezeichner: 'Edit'
Ich hoffe ich peil das mal noch.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  TEditNew = class(TEdit)
    public
      procedure CreateParams(var Params: TCreateParams); override;
    end;
var
  Form1: TForm1;
  Edit5: TEditNew;
  Edit6: TEditNew;
  Edit7: TEditNew;

implementation

{$R *.dfm}

{ Editfeld zentriert Ausgerichtet }
procedure TEditNew.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or ES_CENTER
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    Edit5 := TEditNew.Create(Self);
    Edit5.Parent := Self;
    Edit5.Text := '100';
    Edit5.SetBounds(184,96,45,24);
    Edit5.Font.Style := [fsBold];
    Edit5.Font.Name := 'Arial';
    Edit5.Font.Height := 15;
    Edit5.TabStop := True;
    Edit5.TabOrder := 0;
    Edit6 := TEditNew.Create(Self);
    Edit6.Parent := Self;
    Edit6.Text := '10';
    Edit6.SetBounds(184,120,45,24);
    Edit6.Font.Style := [fsBold];
    Edit6.Font.Name := 'Arial';
    Edit6.Font.Height := 15;
    Edit6.TabStop := True;
    Edit6.TabOrder := 0;
    Edit7 := TEditNew.Create(Self);
    Edit7.Parent := Self;
    Edit7.Text := '20';
    Edit7.SetBounds(184,144,45,24);
    Edit7.Font.Style := [fsBold];
    Edit7.Font.Name := 'Arial';
    Edit7.Font.Height := 15;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
    Edit: Array[5..7] of TEditNew;

end;

end.
Was mache ich falsch. Muss ich Edit noch als var definieren, wenn ja als was ?
Udo Kinscherf
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 20:18
mach bitte die code-klammern auch wieder zu

zudem ginge das so:

Delphi-Quellcode:
Edit: array[5..7] of TEditNew;
implementation

procedure onFormCreate;
begin
Edit[5]:=TEditNew.Create;
Edit[5].Text:='ich bin edit5';
end;
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
traudl

Registriert seit: 22. Jun 2004
Ort: Lauterach
37 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 20:22
Hey supii, Danke
Das ist ja gar nicht so umständlich. Hey Danke echt super von Euch.
Danke auch für den Tip mit der Code Klammer


Gruß Udo

Udo Kinscherf
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#8

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 20:24
die geht mit [./code.] wieder zu, net mit [.code.]



die buttons zu benutzen is einfacher....
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 20:26
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to length(EditArray) - 1 do
  begin
    EditArray[i] := TEdit.Create(Form1);
    EditArray[i].Parent := Form1;
    EditArray[i].Name :='Edit'+IntToStr(i);
    EditArray[i].Left := 10;
    EditArray[i].Top := i*(EditArray[i].Height+10)+10;
    EditArray[i].Text := EditArray[i].Name;
  end;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
traudl

Registriert seit: 22. Jun 2004
Ort: Lauterach
37 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Edit mit variabler Nummer

  Alt 8. Dez 2004, 20:26
Habs schon Danke.

Aber du weist ja aller Anfang ist schwer und manchmal dauert der Anfang auch länger.

Udo Kinscherf
  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 23:01 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