AGB  ·  Datenschutz  ·  Impressum  







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

brauche erklärung für typen

Ein Thema von Molzer · begonnen am 9. Jan 2009 · letzter Beitrag vom 11. Jan 2009
Antwort Antwort
Seite 1 von 3  1 23      
Molzer

Registriert seit: 7. Dez 2008
70 Beiträge
 
#1

brauche erklärung für typen

  Alt 9. Jan 2009, 13:39
Hallo!

Ich muss einen typ erstellen von TB mit länge,breite,höhe und bez, von TB gibt es 10
Delphi-Quellcode:
TB = class
l,b,h:integer;
bez:string;
end;
//Den Typ hab ich erstellt.
var x:array [1..10] of TB;
for i:1 to 10 do
x[i]=stringgrid1.cells[0,1]//das funkt natürlich nicht, aber ich stehe hier leider an...
//wie kann ich jetzt von einem stringgrid die werte einlesen???
lg
Meine Version:
Borland® Delphi® für Microsoft® Windows™ Version 10.0.2288.42451 Update 2 Copyright © 2005 Borland® Software Corporation.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 13:41
Du kannst den String ja nicht der Objektinstanz zuweisen, sondern nur dem Stringfeld der Instanz.
x[i].bez := stringgrid1.cells[0,1];
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
mr_emre_d
(Gast)

n/a Beiträge
 
#3

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:01
Mach doch einfach
Delphi-Quellcode:
TB = [b]record[/b]
l,b,
h:integer;
bez:string;
end;

var
  x: TB;

...

x.l := 10;
x.b := 20;
x.h := 30;
x.bez := 'bez'; ...
so in etwa ...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:02
Das löst das Problem aber auch nicht. Auch so muss er auf ein Feld eines Array-Elements seines Typs zugreifen.
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
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:04
Ich verstehe das Problem nicht.



Ganz von alleine passiert in Delphi nunmal gar nichts. Ein bisschen was muss man halt programmieren...

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:08
Ich hab doch bereits in #2 gepostet, was zu tun ist. Wieso da nun Records ins Spiel kommen, was weiß denn ich?
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
Molzer

Registriert seit: 7. Dez 2008
70 Beiträge
 
#7

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:16
ein typ ist in diesem fall einfacher wie ein record oder? bin leider blutiger anfänger...
soll aber typ verwenden..
hab ein bild anbei, steh da voll an...
Delphi-Quellcode:
var x:array [1..10] of TB;
    i:integer;
procedure TForm2.Button1Click(Sender: TObject);
begin
for i := 1 to 10 do begin
x[i].bez := stringgrid1.cells[0,1],stringgrid1.cells[0,2],stringgrid1.cells[0,3],stringgrid1.cells[0,4],;
end;
end;
fg
Miniaturansicht angehängter Grafiken
1_190.png  
Meine Version:
Borland® Delphi® für Microsoft® Windows™ Version 10.0.2288.42451 Update 2 Copyright © 2005 Borland® Software Corporation.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:23
Zitat von Molzer:
ein typ ist in diesem fall einfacher wie ein record oder? bin leider blutiger anfänger...
soll aber typ verwenden..
hab ein bild anbei, steh da voll an...
Delphi-Quellcode:
var x:array [1..10] of TB;
    i:integer;
procedure TForm2.Button1Click(Sender: TObject);
begin
for i := 1 to 10 do begin
  x[i].bez := stringgrid1.cells[0,1],stringgrid1.cells[0,2],stringgrid1.cells[0,3],stringgrid1.cells[0,4],;
end;
end;
fg
Delphi-Quellcode:
var x:array [1..10] of TB;
    i:integer;
procedure TForm2.Button1Click(Sender: TObject);
begin
  for i := 1 to 10 do
    begin
      x[i] := TB.create; // Instanz erstellen, wenn das nicht vorher passiert ist
                            // und nicht vergessen sie wieder freizugeben, wenn Du sie nicht mehr brauchst
      x[i].bez := stringgrid1.cells[0,i]; // Bezeichnung zuweisen
    end;
end;
Basics -> record
Basics -> class

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Molzer

Registriert seit: 7. Dez 2008
70 Beiträge
 
#9

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:31
danke dir klaus!!
Meine Version:
Borland® Delphi® für Microsoft® Windows™ Version 10.0.2288.42451 Update 2 Copyright © 2005 Borland® Software Corporation.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: brauche erklärung für typen

  Alt 9. Jan 2009, 14:34
Und nun nochmal im Ganzen:
Delphi-Quellcode:
var x: array[1..10] of TB;

//Beim Erzeugen des Formulars die Objekte anlegen
procedure TForm2.FormCreate(Sender: TObject);
var i: integer;
begin
  for i := Low(x) to High(x) do
    x[i] := TB.Create;
end;

//auf ButtonKlick mit Daten füllen
procedure TForm2.Button1Click(Sender: TObject);
var i: integer;
begin
  for i := Low(x) to High(x) do
    begin
      //Länge, Breite und Höhe sind Zahlen, daher Umwandlung nötig
      x[i].l := StrToIntDef(StringGrid1.Cells[1,x],0);
      x[i].b := StrToIntDef(StringGrid1.Cells[2,x],0);
      x[i].h := StrToIntDef(StringGrid1.Cells[3,x],0);
      x[i].bez := StringGrid1.Cells[4,x];
    end;
end;

//Im OnDestroy Objekte wieder freigeben
procedure TForm2.FormDestroy(Sender: TObject);
var i: integer;
begin
  for i := Low(x) to High(x) do
    x[i].Free;
end;
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
Antwort Antwort
Seite 1 von 3  1 23      


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 00:42 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