AGB  ·  Datenschutz  ·  Impressum  







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

Umgang mit einem Record

Ein Thema von Gehstock · begonnen am 9. Nov 2007 · letzter Beitrag vom 9. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#1

Umgang mit einem Record

  Alt 9. Nov 2007, 22:14
Delphi-Quellcode:
  type
  Item = record
   S1 : Integer;
   S2 : String;
end;

function Cut(Text: String):Item;
var
  sl: TStrings;
  x : Item;
  t: String;
begin
   sl := TStringList.Create;
   sl.delimiter := ' ';
   sl.DelimitedText := Text;
   t:= StringReplace(sl.Strings[0],'(','',[rfReplaceAll]);
   t:= StringReplace(t,')','',[rfReplaceAll]);
   x.S1 := StrtoInt(t); //1. Teilstring
   //ShowMessage(t); //zum test bis hier stimmts
   x.S2 := sl.Strings[1]; //2. Teilstring
   //ShowMessage(sl.Strings[1]); //zum test bis hier stimmts
end;

Procedure OpenTab;
var
s : String;
x: Integer;
tli: TListItem;
b: Item;
begin
With frmmain do Begin
  SynMemo1.Clear;
  ADOQuery1.SQL.Clear;
  ADOQuery1.Close;
  s:= Treeview1.Selected.Text;
  cut(s);

  ShowMessage(b.s2);// zeigt nichts an zum test
// s:= S2;
  ADOQuery1.SQL.Text := 'SELECT * FROM '+s;
  ADOQuery1.Open;
  while not ADOQuery1.Eof do
  begin
    s:=ADOQuery1.FieldByName('Feld1').AsString;
    tli:=ListView1.Items.Add;
    tli.Caption:=s;
    Next;
End;
end;
end;
wie Fulle ich ein Record und wie frage ich es ab
Marcel
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:19
füllen, einfach wie oben... abfragen... einfach

record.items...

haste aber nicht gezeigt.. ausserdem solltest dir mal den unterscheid zwischen lokalen, globalen und classen records klar machen ...
  Mit Zitat antworten Zitat
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:29
Wenn ich das Record abfrage ist es aber immer Leer bzw. zeigt nix an
Marcel
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:32
Du hast item ja auch noch nichts zugewiesen!
b := cut(s);
Markus Kinzler
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:33
... und dran denken die angelegte TStringList Instanz in Cut() auch wieder freigeben!
  Mit Zitat antworten Zitat
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:38
führt auch zu nix
Delphi-Quellcode:
  type
  Item = record
   S1 : Integer;
   S2 : String;
end;





function Cut(Text: String):Item;
var
  sl: TStrings;
  b : Item;
  t: String;
begin
   sl := TStringList.Create;
   sl.delimiter := ' ';
   sl.DelimitedText := Text;
   t:= StringReplace(sl.Strings[0],'(','',[rfReplaceAll]);
   t:= StringReplace(t,')','',[rfReplaceAll]);
   b.S1 := StrtoInt(t); //1. Teilstring
   //ShowMessage(t); //zum test bis hier stimmts
   b.S2 := sl.Strings[1]; //2. Teilstring
   //ShowMessage(sl.Strings[1]); //zum test bis hier stimmts
   sl.free;
end;

Procedure OpenTab;
var
s : String;
x: Integer;
tli: TListItem;
b: Item;
begin
With frmmain do Begin
  SynMemo1.Clear;
  ADOQuery1.SQL.Clear;
  ADOQuery1.Close;
  s:= Treeview1.Selected.Text;
  b:= cut(s);
  ShowMessage(b.s2); // leeres fenster
  ADOQuery1.SQL.Text := 'SELECT * FROM '+b.s2; // deswegen hier Syntaxfehler in der From Klausel
  ADOQuery1.Open;
  while not ADOQuery1.Eof do
  begin
    s:=ADOQuery1.FieldByName('Feld1').AsString;
    tli:=ListView1.Items.Add;
    tli.Caption:=s;
    Next;
End;
end;
end;
Marcel
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:44
Und was steht in s?
Markus Kinzler
  Mit Zitat antworten Zitat
Hawkeye219

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

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:45
Hallo Gehstock,

eine Funktion sollte immer einen definierten Rückgabewert besitzen. Deine Funktion Cut() hat das nicht.

Gruß Hawkeye
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Umgang mit einem Record

  Alt 9. Nov 2007, 22:47
Es fehlt result := b;
Markus Kinzler
  Mit Zitat antworten Zitat
9. Nov 2007, 22:51
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Delphi-Frage.
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 12:50 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