AGB  ·  Datenschutz  ·  Impressum  







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

Record in Array

Ein Thema von hirsch · begonnen am 12. Feb 2014 · letzter Beitrag vom 12. Feb 2014
Antwort Antwort
hirsch

Registriert seit: 29. Jan 2008
Ort: Tuttlingen
88 Beiträge
 
Delphi 2007 Professional
 
#1

Record in Array

  Alt 12. Feb 2014, 15:58
Delphi-Quellcode:
type
  TKalender = class(TForm);
  TFrei = record
    Date: TDateTime;
    Name: string;
  end;
  TFreiTable = array of TFrei;
  function holeFreiTable(Year: Word): TFreiTable;
var
   Tage : array of array of String;
   erster, letzter : Integer;
.
.
.
function holeFreiTable(Year: Word): TFreiTable;
var
  EDate, Test: TDateTime;
  von,
  bis,
  I : Integer;
begin
.
.
Test:=(TFreiTable(TFrei.Date))[1]; //<--E2096 Methodenbezeichner erwartet

//Später soll es dann mal anstelle der Test-Variablen so aussehen:
{  for I := erster to letzter do begin
    Tage[i,0]:=DateToStr(TFreiTable(TFrei(Date))[i]);
    Tage[i,1]:=TFreiTable[i].Name;
  end;}
Ich versuche aus dem Record alle Elemente auszulesen und in das Array Tage zu schreiben, da ich es benutzen möchte eine Tabelle mit Feiertagen zu bauen.

Nun ist meine Anfängerfrage: wie spreche ich jedes Feld des Record an, entlocke ihm sein Geheimnis und übergebe es als string meinem Array.

Ich hoffe jemand kann mir weiter helfen.
Vielen Dank
Wolfgang Hirsch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

AW: Record in Array

  Alt 12. Feb 2014, 16:03
Zitat:
Delphi-Quellcode:
TFrei = record
    Date: TDateTime;
    Name: string;
  end;

  TFreiTable = array of TFrei;

  function holeFreiTable(Year: Word): TFreiTable;
Soweit noch verstanden. Aber was willst Du mit dem 2-dimensionalen dynamischen Array Tage machen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hirsch

Registriert seit: 29. Jan 2008
Ort: Tuttlingen
88 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Record in Array

  Alt 12. Feb 2014, 16:06
Naja, ich dachte mir, mit dem 2Dimensionalen dynamischen Array, kann ich mir das später leichter lesen,denn mit Records weis ich nicht wie ich an den anfang springe, ans ende, ich weis noch nicht einmal wieviel zeilen es da gibt.
Kurzum ich kann mit Arrays besser umgehen.
Blöd gell
Wolfgang Hirsch
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#4

AW: Record in Array

  Alt 12. Feb 2014, 16:09
Records haben keinen Anfang und kein Ende. Ein Record ist einfach nur ein Datensatz (wenn man so will), der aus mehreren Datentypen bestehen kann (aber nicht muss).

MfG Dalai
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#5

AW: Record in Array

  Alt 12. Feb 2014, 16:10
Du brauchst erstmal ne Variable VFT oder so vom Typ TFreiTable:
var VFT: TFreiTable; Dann geht's so VFT[1].Date := .. oder
VFT[2].Name := 'Je nun';
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#6

AW: Record in Array

  Alt 12. Feb 2014, 16:16
Records sind doch keine dynamischen Datenstrukturen und haben somit keinen Anfang und kein Ende. Die enthaltenen Felder sind Dir doch bekannt, wieso so umständlich?
Delphi-Quellcode:
Liste := holeFreiTable(2014);
for i := Low(Liste) to High(Liste) do
  ShowMessage(Liste[i].Name + ', ' + DateTimeToStr(Liste[i].Date));
[edit] *Pfh* das hat man davon, wenn während des Antwort Tippens der Chef reinkommt, da hätte ich mir das Abschicken sparen können. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hirsch

Registriert seit: 29. Jan 2008
Ort: Tuttlingen
88 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Record in Array

  Alt 12. Feb 2014, 16:43
Wow

Super.

Danke DeddyH, gammatester,Dalai


erster Fehler: Keine Variable vom Typ TFreiTable erzeugt.
zweiter Fehler, ich kann nicht mit records umgehen. Da hat DeddyH geholfen.
Habe nun die Inhalte in einem TStringrid, als String.

Vielen Dank
Wolfgang Hirsch
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 11:58 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