Předmět Autor Datum
Zle som hľadal v helpe. Nevšimol som si CustomSort method (TStringList). Všimol som si iba Sort.:-[
msx. 05.07.2006 21:56
msx.
Koukal jsem na tve minule vlakno ,pokud chces delat hru mel bych mozna pro tebe lepsi reseni nez pou…
virus 06.07.2006 00:25
virus
Moje vlákno týkajúce sa hry je niečo iné ako vlákno s grafmi, ktoré súvisí s týmto.;-) http://pc.por…
msx. 06.07.2006 00:45
msx.
Áno, gratulujem ! :-) Keď si nevieš dať rady pozri Help ! ::) Skutočne existuje metóda TStringList.…
pme 05.07.2006 22:11
pme
ako vas to moze bavit... mna to vobec nebavi ale budem musiet to vediet
majklx 05.07.2006 23:36
majklx
Je to ako keby si si programoval vlastnú frajerku. Skutočnú nenaprogramuješ, tak si mi programátori…
msx. 06.07.2006 00:48
msx.
Práveže, ja som help použil, ale akosi intuitívne som hľadal metódy na S (Sort a podobne), takže Cus…
msx. 06.07.2006 00:47
msx.
Tak jsem nasel primej link , muzes to otestovat . f047_001.htm
virus 06.07.2006 00:45
virus
Nevyzerá to zle, ale na moje použitie je to ako kladivo so sekáčom miesto pinzety (mám na mysli jedn…
msx. 06.07.2006 00:52
msx.
Napiš, co budeš kódovat zítra, ať si to zatím nastudujeme. :-D;-)
Rce 06.07.2006 01:17
Rce
Už som napísal. TScrollBar.;-)
msx. 06.07.2006 08:32
msx.
Takže triedenie mám hotové: private ... function GraphSort(List: TStringList; Index1, Index2: Integ…
msx. 06.07.2006 13:17
msx.
Keďže mi to nešlo skompilovať, tak som pridal do sekcie public: function GraphSort: TStringListSort…
msx. 06.07.2006 15:14
msx.
Kazdy den nejaky problem s Delphi, ty musis toho vela programovat :-D poslední
Ixi 06.07.2006 17:59
Ixi

Koukal jsem na tve minule vlakno ,pokud chces delat hru mel bych mozna pro tebe lepsi reseni nez pouzit Timage, ale misto toho pouzit 3Dengine, je to vcelku jednoduchy a nenarocny .
Nemusi se to ani instalovat, neco jako je delphiX akorat stim rozdilem ze tuto componentu muzes sam rozsirovat , uz si nepamatuji kde jsem to stahl je to uz asi pres rok ale mam za to ze nazev je 3Dengine, nepotrebujes ani listview kterej na tento ucel je dost neforemnej.
Pokud nic nenajdes tak napis ja to hodim na download.

Áno, gratulujem ! :-) Keď si nevieš dať rady pozri Help ! ::)

Skutočne existuje metóda TStringList.CustomSort(Compare: TStringListSortCompare);

Delphi syntax:
type TStringListSortCompare = function(List: TStringList; Index1, Index2: Integer): Integer;

V nápovede je aj vysvetlené akú hodnotu má mať výsledok funkcie....

Práveže, ja som help použil, ale akosi intuitívne som hľadal metódy na S (Sort a podobne), takže CustomSort som nechtiac prehliadol. Ako som si potom neskoršie pozeral help, tak som ti to potom všimol, čiže toto vlákno som založil zbytočne, ale na druhej strane, možno sa toto vlákno niekomu bude hodiť, takže ho nemá zmysel mazať.:-)

Takže triedenie mám hotové:

private
  ...
  function GraphSort(List: TStringList; Index1, Index2: Integer): Integer;
  ...

Priradenie metódy mám v CreateForm:

begin
  ...
  Values.CustomSort(GraphSort);
end;

Pri kompilácii mi píše chybu na uvedenom riadku v CreateForm s týmto textom:

[Error] uGraph.pas(111): Incompatible types: 'regular procedure and method pointer'

Chyba bude asi v deklarácii, ale keďže to robím prvýkrát, tak netuším kde.

Edit:
Skúsil som aj zápis

function GraphSort: TStringListSortCompare;

ale bez úspechu.

Edit 2:
Zatiaľ skúsim nájsť v Delphi zdroják TStringList a kuknúť, ako je to priradené tam. Teda ak také priradenie existuje, nakoľko tam je štandardné triedenie.

Edit 3:
Takže našiel som SCompare, ale nikde som nenašiel deklaráciu.:-(

Edit 4:
Ach, som ja ale hlupák, veď do SCompare sa ukladá tá metóda pomocou CustomSort, tak idem na to znova.

Edit 5:
Takže táto metóda nesmie patriť objektu, inak mi to neskompiluje. Lenže teraz mi to síce skompiluje, ale zruti sa to na tom istom riadkou s chybou Access violation. Tak tomu nerozummiem.:-|

Edit 6:
Napadlo ma, že nemôžem priraďovať, keď som nevytvoril objekt TStringList a tak som priradil triedenie v metóde FormShow. Stále mám Access violation.:-(

Keďže mi to nešlo skompilovať, tak som pridal do sekcie public:

function GraphSort: TStringListSortCompare;

A to spôsobilo problém s access violation, pretože som to zabudol odstrániť. No čo, aj takáto primitívna chyba sa v programe občas nájde.:-[

Edit: Doprajem vám dovolenku a 2 týždne sem nenapíšem ani pol slova.:-)

Zpět do poradny Odpovědět na původní otázku Nahoru