![]() |
Delphi-Version: 5
TStringgrid zählt nur bis 10
Hallo zusammen,
ich bin neu was das programmieren angeht und versuche heute ein Programm zu schreiben, dass in einem Stringgrid das 75 Col und 10 Rows hat diese von 1 bis 750 zu befüllen. Mein Problem ist jetzt, dass wen ich das Programm ausführe, zählt er in der 1 Zeile nur bis 10 und nicht bis 75. Woran liegt das?
Delphi-Quellcode:
Danke schon mal im voraus für die Antworten.
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; Button1: TButton; Button2: TButton; procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i, J, z : Integer; begin z:=0; with StringGrid1 do for I := 1 to ColCount - 1 do for J:= 1 to RowCount - 1 do begin if Cells[j,i] = '' then begin inc(z); Stringgrid1.Cells[j,i] := IntToStr(z); end; end; end; end. Grüße Basti |
AW: TStringgrid zählt nur bis 10
Hallo,
ich sehe im Code keine 10 ?? Das muss du dem StringGrid schon sagen. procedure TForm1.FormCreate(Sender: TObject); var i, J, z : Integer; begin z:=0; StringGrid1.ColCount:= 75; StringGrid1.RowCount:= 10; with StringGrid1 do Und ausserdem: for I := 1 to ColCount - 1 do Die Zählung begibt bei 0, nicht bei 1. |
AW: TStringgrid zählt nur bis 10
Zitat:
|
AW: TStringgrid zählt nur bis 10
hallo,
vielleicht funktioniert dies -
Delphi-Quellcode:
'Delphi Hilfe'
var
i, j, z: Integer; begin z := 0; with StringGrid1 do begin for i := 0 to StringGrid1.RowCount - 1 do for j := 0 to stringgrid1.ColCount - 1 do begin if Cells[j, i] = '' then begin inc(z); Stringgrid1.Cells[j, i] := IntToStr(z); end; end; end; end; property Cells[ACol, ARow: Integer]: Gruß |
AW: TStringgrid zählt nur bis 10
Hallo,
das habe ich ja sogar übersehen if Cells[j,i] Cells[Col,Row] und nicht umgekehrt. |
AW: TStringgrid zählt nur bis 10
Kleine Anmerkung meinerseits: Nirgends erwähnt der TE, dass die Zahl nur eingetragen werden soll wenn die Zelle(n) leer ist/sind. Falls das zutrifft würde ich die IF-Abfrage komplett streichen - oder übersehe ich da was?!?
|
AW: TStringgrid zählt nur bis 10
Hallo,
ja, das if Cells[i, j] = '' (gleich mal die Parameter richtig vertauscht) ist etwas komisch, zumal im FormCreate nichts im Grid stehen sollte. |
AW: TStringgrid zählt nur bis 10
Ok danke das klappt jetzt soweit.
Wen ich das jetzt rückwärts machen will. Also ich starte von unten und gehe nach oben funktioniert es nicht was mach ich falsch.
Code:
procedure TForm1.Button1Click(Sender: TObject);
var i, j, z: Integer; begin z := 750; with StringGrid1 do begin for i := 750 to StringGrid1.RowCount - 1 do for j := 750 to stringgrid1.ColCount - 1 do begin if Cells[j, i] = '' then begin z := (z-1); Stringgrid1.Cells[j, i] := IntToStr(z); end; end; end; end; |
AW: TStringgrid zählt nur bis 10
Halllo,
Zitat:
die for Schleifen sagen aber was anderes. das hier ist ganz nüztlich ![]() Gruß |
AW: TStringgrid zählt nur bis 10
Zitat:
Aber ich find den Fehler nicht warum mir nichts reingeschrieben wird wen ich den Knopf drücke
Code:
procedure TForm1.Button1Click(Sender: TObject);
var i, J, z : Integer; begin z := 751; with StringGrid1 do begin for i := 750 downto 1 do for J := 750 downto 1do begin if Cells[J,i] = '' then begin z := (z)-1; Stringgrid1.Cells[J, i] := IntToStr(z); end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr. |
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