Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi brauche erklärung für typen (https://www.delphipraxis.net/127225-brauche-erklaerung-fuer-typen.html)

Molzer 11. Jan 2009 13:42

Re: brauche erklärung für typen
 
komm nicht drauf und die hilfe benutz auch immer, hilft mir aber nicht sehr oft...
Delphi-Quellcode:
x[i].l := StrToIntdef(StringGrid1.Cells[i,0],0);//d.h ernimmt die 0 statt i??
Erste Gelegenheit für Exception bei $75C942EB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 00463E38 in Modul 'Project1.exe'. Schreiben von Adresse 00000008'. Prozess Project1.exe (240)

Danke und fg

mkinzler 11. Jan 2009 13:45

Re: brauche erklärung für typen
 
Schau dir den Code mal im Debugger an. Bei welchem Wert von i tritt das auf?

DeddyH 11. Jan 2009 15:52

Re: brauche erklärung für typen
 
Damit der Code tut, muss das StringGrid mindestens 5 Spalten (inkl. fixer Spalten) haben. Spalten und Zeilen sind 0-indiziert, d.h. der Index der ersten Spalte/Zeile beträgt 0, der Index der letzten hingegen Count - 1. Und der Standardwert bei StrToIntDef bedeutet, dass dieser zurückgegeben wird, wenn die Konvertierung fehlschlagen sollte. Beispiel:
Delphi-Quellcode:
StrToIntDef('123',0); //gibt 123 zurück
StrToIntDef('Das geht so nicht',0); //gibt 0 zurück, da der String nicht umgewandelt werden kann

Molzer 11. Jan 2009 16:53

Re: brauche erklärung für typen
 
ich hab jetzt nur l genommen und gebe überall eine 1 ein und bekomme eine 0
also füllt er das array gar nicht mit die zahlen.. oder meine ausgabe ist falsch??
Delphi-Quellcode:
type
TB = class
l:integer;
end;

var x: array[1..10] of TB;

rocedure TForm2.FormCreate(Sender: TObject);
var i: integer;
begin
stringgrid1.cells[0,0]:='l';
  for i := 0 to 10 do
    x[i] := TB.Create;
end;

 rocedure TForm2.Button1Click(Sender: TObject);
var i: integer;
begin
   for i := 1 to 10 do
    x[i].l := StrToIntdef(StringGrid1.Cells[i,0],0);
    memo1.Lines.Add(inttostr(x[1].l));
        end;
    end.

Molzer 11. Jan 2009 16:57

Re: brauche erklärung für typen
 
zeilen und spalten vertausch...

mkinzler 11. Jan 2009 16:58

Re: brauche erklärung für typen
 
Du gibst nur eine 1 ein:
Delphi-Quellcode:
stringgrid1.cells[0,0]:='l';
Ausserdem stimmt die Grenze nicht
Delphi-Quellcode:
for i := 0 to 10 do
sind 11 Durchläufe und nicht 10

Molzer 11. Jan 2009 17:05

Re: brauche erklärung für typen
 
bei 0 steht l..
aber jetzt hab ichs..

danke für deine/eure hilfe..

fg


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz