AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Bezeichnungen eines Records über Item ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Bezeichnungen eines Records über Item ermitteln

Ein Thema von Ralf Stehle · begonnen am 5. Mär 2006 · letzter Beitrag vom 6. Mär 2006
Antwort Antwort
Seite 2 von 3     12 3      
Ralf Stehle

Registriert seit: 8. Aug 2003
124 Beiträge
 
Delphi 7 Professional
 
#11

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 21:40
Eine kleine Anmerkung warum ich das unter anderem brauche:

wie kann man die Daten eines Array von Typ eines Record löschen?

Mein Record hat z.B. 9 Datentypen und eine Datenlänge von 30 mit Setlength festgelegt. Muss ich eine Schleife basteln, die die 9 x 30 Datenfelder einzeln wieder mit einem Nullstring belegt?
Ralf Stehle
ralfstehle@yahoo.de
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 21:41
Mir ist ehrlich gesagt noch nicht ganz klar was du eigentlich suchst.
Markus Kinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 21:42
Zitat von Ralf Stehle:
Eine kleine Anmerkung warum ich das unter anderem brauche:

wie kann man die Daten eines Array von Typ eines Record löschen?

Mein Record hat z.B. 9 Datentypen und eine Datenlänge von 30 mit Setlength festgelegt. Muss ich eine Schleife basteln, die die 9 x 30 Datenfelder einzeln wieder mit einem Nullstring belegt?
SetLength auf 0
Markus Kinzler
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#14

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 22:01
Vielleicht blöde Frage: Warum verwendet Du nicht TList ?

Zitat:
wie kann man die Daten eines Array von Typ eines Record löschen?
Verwende einen 'Packed Record' und
Fillchar(MyRec, SizeOf(MyRec), 0)
Otto
  Mit Zitat antworten Zitat
Ralf Stehle

Registriert seit: 8. Aug 2003
124 Beiträge
 
Delphi 7 Professional
 
#15

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 22:12
mkinzler schreibt

Zitat:
Mir ist ehrlich gesagt noch nicht ganz klar was du eigentlich suchst.
Ich möchte die Bezeichner meines Records wie in einer TList über den Index ansprechen,
also anstatt

Mitgliedsdaten.Nachname := 'Müller'
Mitgliedsdaten.Vorname := 'Max'
Mitgliedsdaten.Telefon := '01234-5678'


Mitgliedsdaten.Item[1] := 'Müller'
Mitgliedsdaten.Item[2] := 'Max'
Mitgliedsdaten.Item[3] := '01234-5678'

nur dass das ich es nicht schaffe, Dein Beispiel zu übernehmen, sondern ich erhalte statt einem Record ein Array von Records.

Ferber hat gerade vorgeschlagen, TList zu benutzen. Mein entgültiges Ziel ist aber tatsächlich ein Array des TStammdaten-Records, praktisch wie in einer Datenbank. Ich habe auch schon mal den Umweg über ein AdoDataSet benutzt, das geht eigentlich auch ganz gut, ist aber etwas zweckentfremdet. Die Alternative wäre wohl das dpCollection-Projekt. dpCollection. Das kapiere ich aber nicht so recht
Ralf Stehle
ralfstehle@yahoo.de
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#16

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 22:23
TList ist im Prinzip nichts anderes als ein Array !
TStringlist ist zB ein Nachfahre von TList, und kann ua. sortieren.
Collections sind für Dein Problem nicht relevant.
Otto
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 22:30
Ich habe dich da falsch verstanden, mit einem normalen Record wird das aber sicherlich schwer. Ween du aber einen Klasse benutzt könnte man das über properies erreichen.

Delphi-Quellcode:
type
   TStammdaten = class
    Items: Array[0..8] of string[40];
  public
    function getTitel: ShortString;
    procedure setTitel( value: ShortString);
    property TITEL: ShortString read getTitel write setTitel;
    ...
end;

 ...

function TStammdaten.getTitel: ShortString;
begin
   result := Items[0];
end;

procedure TStammdaten.setTitel(value: ShortString);
begin
  Items[0] := value;
end;
Markus Kinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 22:31
Einmal reicht
Markus Kinzler
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#19

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 22:42
Delphi-Quellcode:
type
  PStammdaten = ^TStammdaten;
  TStammdaten = packed record
    TITEL :String[20];
    NACHNAME :String[40];
    VORNAME :String[28];
    GEBURTSNAME :String[40];
    GEBURTSDATUM:String[12];
    GESCHLECHT :String[1];
    STRASSE :String[40];
    PLZ :String[7];
    ORT :String[40];
  end;

//Ungefähre Verwendung:

procedure TForm1.Button1Click(Sender: TObject);
var
  li:TList;
  sd:PStammDaten;
begin
  li:=TList.Create;
  sd:=New(PStammdaten);
  sd.TITEL :='Hugo';

  li.Add(sd);
end;
Otto
  Mit Zitat antworten Zitat
Ralf Stehle

Registriert seit: 8. Aug 2003
124 Beiträge
 
Delphi 7 Professional
 
#20

Re: Bezeichnungen eines Records über Item ermitteln

  Alt 5. Mär 2006, 23:19
Ferber hat mir ein Beispiel aus der Delphi-Hilfe gepostet, damit habe ich aber nur einen Index durch die TList auf den einzelnen Datensatz, nicht jedoch auf die Titel der einzelnen Felder wie Nachname, Vorname usw.

Das Beispiel von mkinzler verstehe ich nicht ganz, sieht gut aus, ein bisschen Beispielcode drumherum könnte vielleicht zu einem geglückten Abschluss des Themas führen

Euer

Ralf
Ralf Stehle
ralfstehle@yahoo.de
  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 15:21 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