AGB  ·  Datenschutz  ·  Impressum  







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

Grid mit unterschiedlicher Zeilenanzahl

Offene Frage von "Banetel.eu"
Ein Thema von Banetel.eu · begonnen am 14. Okt 2007 · letzter Beitrag vom 16. Okt 2007
Antwort Antwort
Benutzerbild von Banetel.eu
Banetel.eu

Registriert seit: 7. Okt 2007
31 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: Grid mit unterschiedlicher Zeilenanzahl

  Alt 16. Okt 2007, 21:40
Zitat von Hansa:
Wer andauernd Zeilen mit Zellen oder gar Spalten verwechselt, der braucht sich nicht zu wundern.
LOL naja ich habe es ja geschaft


Den Code bekommst du natürlich:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, ExtCtrls, Calendar, ColorGrd;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Panel3Click(Sender: TObject);
    procedure Panel4Click(Sender: TObject);
    procedure Monat_plus;
    procedure Monat_minus;
    procedure StringGrid1DblClick(Sender: TObject);
  private
        { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Monat : array[1..12] of String;
  Monata: integer;
  Jahr: integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer;
  Vorm: Integer;
  Norm: Integer;
begin


StringGrid1.Cells[0,0] :='...';
StringGrid1.ColWidths[0] := 70;
for I := 1 to 31 do begin
StringGrid1.Cells[I,0] :=' '+ inttostr(I);
end;
StringGrid1.Cells[32,0] :=' ...';
StringGrid1.ColWidths[32] := 70;

for I := 1 to 5 do begin
StringGrid1.RowHeights[I] := 100;
end;
StringGrid1.LeftCol:=1;

Monat[1]:='Januar';
Monat[2]:='Februar';
Monat[3]:='März';
Monat[4]:='April';
Monat[5]:='Mai';
Monat[6]:='Juni';
Monat[7]:='Juli';
Monat[8]:='August';
Monat[9]:='September';
Monat[10]:='Oktober';
Monat[11]:='November';
Monat[12]:='Dezember';


Jahr:=strtoint(FormatDateTime('yyyy', Now));
Panel2.Caption:=FormatDateTime('yyyy', Now);

Vorm:=strtoint(FormatDateTime('m', Now));
if Vorm = 1 then begin Vorm:=12; end else Vorm:=Vorm-1;
Panel3.Caption:=Monat[Vorm];

Monata:=strtoint(FormatDateTime('m', Now));
Panel1.Caption:=Monat[strtoint(FormatDateTime('m', Now))];

Norm:=strtoint(FormatDateTime('m', Now));
if Norm = 12 then begin Norm:=1; end else Norm:=Norm+1;
Panel4.Caption:=Monat[Norm];

end;


procedure TForm1.Panel3Click(Sender: TObject);
begin
 Monat_minus;
 StringGrid1.LeftCol := 1;
end;

procedure TForm1.Panel4Click(Sender: TObject);
begin
Monat_plus;
end;

procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
showmessage(inttostr(StringGrid1.Row)+' '+inttostr(StringGrid1.Col));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if StringGrid1.LeftCol = 0 then Monat_minus;
if StringGrid1.LeftCol = 25 then Monat_plus;
end;





procedure TForm1.Monat_plus;
var
  Vorm: Integer;
  Norm: Integer;
begin
StringGrid1.Enabled:=false;
  Panel3.Caption := Monat[Monata];
  Norm := Monata;
  if Norm = 12 then
  begin
    Norm := 1;
    Jahr := Jahr + 1;
    Panel2.Caption := inttostr(Jahr);
  end
  else
    Norm := Norm + 1;
  Monata := Norm;
  Panel1.Caption := Monat[Norm];
  Vorm := Norm;
  if Vorm = 12 then
  begin
    Vorm := 1;
  end
  else
    Vorm := Vorm + 1;
  Panel4.Caption := Monat[Vorm];
  StringGrid1.LeftCol := 1;
StringGrid1.Enabled:=true;
end;

procedure TForm1.Monat_minus;
var
  Norm: Integer;
  Vorm: Integer;
begin
StringGrid1.Enabled:=false;
  Panel4.Caption := Monat[Monata];
  Norm := Monata;
  if Norm = 1 then
  begin
    Norm := 12;
    Jahr := Jahr - 1;
    Panel2.Caption := inttostr(Jahr);
  end
  else
    Norm := Norm - 1;
  Monata := Norm;
  Panel1.Caption := Monat[Norm];
  Vorm := Norm;
  if Vorm = 1 then
  begin
    Vorm := 12;
  end
  else
    Vorm := Vorm - 1;
  Panel3.Caption := Monat[Vorm];
  StringGrid1.LeftCol := 24;
StringGrid1.Enabled:=true;
end;


end.

Mit FormatDateTime('dddd', StrToDate(inttostr(I)+'.'+inttostr(Monata)+'.'+inttostr(Jahr)); kannst du auch noch den aktuellen Wochentag anzeigen lassen.


Mit Verbesserung immer her mit
Delphi Anfänger - bitte um Verständnis
  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 23:48 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