Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Einlesen von Private/Public (https://www.delphipraxis.net/182046-einlesen-von-private-public.html)

Frage95 26. Sep 2014 07:27

Einlesen von Private/Public
 
Guten Morgen Leute,

ich bräuchte Hilfe zur Programmierung..Ich habe zwei Edit Felder in denen sollen Klassenname und Feldname eingetragen werden, über einen Button ausgeführt werden .. und diese hab ich in den Public bereich hinein geschrieben.
Ich habe zusätzlich eine Listbox in der diese Informationen die im Public bereich stehen abgerufen werden sollen.
Weiß leider überhaupt nichts bis wenig über Delphi-Programmierung.

Bitte um Hilfe!

Grüße

DeddyH 26. Sep 2014 07:31

AW: Einlesen von Private/Public
 
Ich weiß nicht, wie es den anderen geht, aber ich verstehe nur Bahnhof. Klassenname und Feldname sollen ausgeführt werden:?:

RWarnecke 26. Sep 2014 07:32

AW: Einlesen von Private/Public
 
Willst Du wissen, wie die Properties und Funktionen unter Public/Private heißen ? Oder willst Du nur den Inhalt der Properties wissen, wie zum Beispiel die Höhe des Editfeldes oder den Inhalt ?

Frage95 26. Sep 2014 07:33

AW: Einlesen von Private/Public
 
ja die gebe ich ein..und ich wollte wissen wie ich die Feldnamen und Klassenname mit der Information im Public bereich in die Listbox schreiben kann.

Frage95 26. Sep 2014 07:44

AW: Einlesen von Private/Public
 
RWWarneke ne net so

-=ZGD=- 26. Sep 2014 07:50

AW: Einlesen von Private/Public
 
[offtopic]Guten Morgen liebe Fahrgäste. Nächster, planmäßiger Halt: Unverständnis.[/offtopic]


Ich versuch das mal.

Du hast 2 Editfelder und 1 Listbox.

In die Editfelder schreibst du Dinge hinein, klickst auf einen Button und diese stehen unmittelbar danach in der Listbox?

Sorry, aber :glaskugel:, da :gruebel:

DeddyH 26. Sep 2014 07:50

AW: Einlesen von Private/Public
 
Ja was denn nun? Du gibst z.B. Edit1 und Text in die Edits ein und willst dann den Inhalt von Edit1 in der Listbox darstellen?

himitsu 26. Sep 2014 08:49

AW: Einlesen von Private/Public
 
Man mag es nicht glauben, aber die RTTI ist dafür da, um informationen zu Typen (was anderes ist eine Klasse auch nicht) zu erhalten.

Private sollte zwar eigentlich nicht in der RTTI stehen, aber die neue erweiterte RTTI nimmt auch das standardmäßig mit auf (außer man hat es deaktiviert).
Da holt man sich dann die Type-Info für die gewünschte Klasse, geht dann die Property-Liste durch und sucht dort nach der Eigenschaft (für letzteres gibt es keine Suchfunktion :wall:), und kann dann mit Hilfe des Instanzzeigers des Objektes in der Property-RTTI-Instanz den Wert auslesen.

Den KlassenTyp der Komponente kann man sich aus der gefundenen Klassen-Instanz (FindComponent) auslesen (ClassName/ClassType/ClassInfo).


Und wenn du dir ein Tutorial zur RTTI durchliest, dann findet man das eigentlich auch alles selber raus. :roll:

DeddyH 26. Sep 2014 08:52

AW: Einlesen von Private/Public
 
Zitat:

Zitat von Frage95 (Beitrag 1273856)
Weiß leider überhaupt nichts bis wenig über Delphi-Programmierung.

Und dann gleich mit der RTTI herumhantieren? Das nenn ich ambitioniert, zumal die Aufgabenstellung noch gar nicht hinreichend erläutert wurde.

Dejan Vu 26. Sep 2014 08:55

AW: Einlesen von Private/Public
 
Meine Glaskugel ist frisch von der Wartung zurück. Vielleicht so?
Delphi-Quellcode:
Type
  TFoo : Class
  Public
    Property Bar : String ....
  End;

Var
  Foo : TFoo;

...
  Foo := TFoo.Create;
  Foo.Bar :='BarFoo';

//
  EditKlassenName.Text := 'Foo';
  EditEigenschaft.Text := 'Bar';

  Button1Click(Button1);
  ...
//
Procedure TForm1.Button1Click(Sender : TObject);
Begin
  ShowMessage('Der Inhalt ist '+DieMagischeFunktion(EditKlassenName.Text, EditEigenschaft.Text));
  // Ziel: 'Der Inhalt ist BarFoo'
End;
So würde ich das interpretieren. Leute, denkt dran: Da ist ein absoluter Anfänger, der die korrekte Bezeichnung und Nomenklatur noch nicht beherrscht.

DeddyH 26. Sep 2014 09:00

AW: Einlesen von Private/Public
 
Zitat:

Zitat von Dejan Vu (Beitrag 1273872)
Leute, denkt dran: Da ist ein absoluter Anfänger, der die korrekte Bezeichnung und Nomenklatur noch nicht beherrscht.

Und genau deshalb würde ich davon abraten, gleich mit so etwas anzufangen, das dürfte noch einige Stufen zu hoch sein. Ist es ein eigenes Projekt, dann lieber etwas anderes machen, ist es dagegen eine Aufgabe, dann sollte man IMHO dem Auftraggeber (Ausbilder?) mal den Puls fühlen.

-=ZGD=- 26. Sep 2014 09:00

AW: Einlesen von Private/Public
 
Glaub er meint wohl einfach, dass er 2 Editfelder, 1 Button und eine Listbox auf ein Formular gezogen hat.
Anschließend klickt er auf den Button.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    btn_execute: TButton;
    edit_klasse: TEdit;
    edit_feld: TEdit;
    list_data: TListBox;
    procedure btn_executeClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn_executeClick(Sender: TObject);
begin
  list_data.Items.Add(edit_klasse.Text + ' ' + edit_feld.text);
end;

end.

DeddyH 26. Sep 2014 09:09

AW: Einlesen von Private/Public
 
Momentan ist das doch alles ein Blick in die Glaskugel. Warten wir doch lieber ab, ob sich der TE noch einmal äußert.

Frage95 26. Sep 2014 09:11

AW: Einlesen von Private/Public
 
Danke ja ich probiers mal

-=ZGD=- 26. Sep 2014 09:13

AW: Einlesen von Private/Public
 
Was genau probierst du? :roll:

himitsu 26. Sep 2014 12:00

AW: Einlesen von Private/Public
 
Zitat:

Zitat von DeddyH (Beitrag 1273871)
Und dann gleich mit der RTTI herumhantieren?

Drum hab ich lieber garnicht erst gesagt genau wie man das vermutlich macht, bevor es noch total schief geht.

Erst ein paar Grundlagentutorials und dann die RTTI-Tutorials durcharbeiten, danach kennt er sich besser mit Delphi aus und weiß vermutlich auch wie er es machen muß/kann, bzw. was man besser nicht macht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:19 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