Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
Re: Error: Inkompatible Typen Reguläre Prozedur u Methodenze
27. Feb 2008, 09:20
Delphi-Quellcode:
Type TExtStrGrid=Class
SortCol:integer;
SortDir:integer;
PicUp:TImage;
PicDown:TImage;
LastDummy:boolean;
SRow:integer;
mausdown:boolean;
// Function CompareStringGridRows(item1,item2: Pointer):integer;
Procedure DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
procedure MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure SortGrid(thegrid: TStringGrid; const col: integer);
Constructor Create;
destructor Destroy;
end;
implementation
..
..
..
Function {TExtStrGrid.}CompareStringGridRows(item1,item2: Pointer):integer;
var c1,c2: ^char;
n1,n2: integer;
begin
c1 :=@TStrings(item1).Strings[sortcol][1];
c2 :=@TStrings(item2).Strings[sortcol][1];
while (c1^ <>#0) and (c2^ <>#0) do
begin
if ((c1^ in ['0'..'9']) and (c2^ in ['0'..'9'])) then
begin
n1 :=0;
n2 :=0;
while (c1^ in ['0'..'9']) do
begin
..
..
..
procedure TextStrGrid.SortGrid(thegrid: TStringGrid; const col: integer);
var rows: TList;
id,i,j: integer;
tmp: TStrings;
tmp_row:string;
begin
try
rows :=TList.Create;
rows.Capacity :=thegrid.RowCount-thegrid.fixedrows;
for i:=theGrid.fixedrows to thegrid.RowCount -1 do
begin
tmp :=TStringList.Create;
for j:=0 to thegrid.ColCount-1 do
tmp.AddObject(thegrid.cells[j,i],thegrid.Objects[j,i]);
thegrid.Rows[i].Clear;
rows.Add(tmp);
end;
rows.Sort(@CompareStringGridRows); // Hier die Fehlermeldung..
for i:=thegrid.fixedrows to thegrid.RowCount -1 do begin
Versuch es mal so.
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
|
|
Zitat
|