powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Расскажите о CustomSort для TStringList, пожалуйста
9 сообщений из 9, страница 1 из 1
Расскажите о CustomSort для TStringList, пожалуйста
    #39644081
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только не совсем для Delphi, а для скрипта (FS) в FastReport.
Чтобы функция кастом-сортировки тоже на скрипте была написана.
...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644083
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для FastReport 4.*.
...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644088
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сортировать скриптом ? Давай лучше видео перекодировать скриптом будем.
...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644094
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

барин, не ругайся.
...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644147
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
procedure TForm1.FormClick(Sender: TObject);
begin
  frxReport1.ShowReport();
end;


type
  TFunctions = class(TfsRTTIModule)
    function CallMethod(Instance: TObject; ClassType: TClass;  const MethodName: String; Caller: TfsMethodHelper): Variant;
    constructor Create(AScript: TfsScript); override;
  end;

constructor TFunctions.Create(AScript: TfsScript);
begin
  inherited;
  with AScript do begin
    with FindClass('TStringList') do begin
      AddMethod('procedure CustomSort(Compare: string);',CallMethod);
    end;
  end;
end;

var C: TfsMethodHelper;
    SL: TStringList;

function DoCompare(List: TStringList; Index1, Index2: Integer): Integer;
var V: TfsCustomVariable;
begin
  V := C.Prog.Find(C[0]);
  if not (V is TfsProcVariable) then begin
    Result := 0;
    Exit;
  end;
  V.Params[0].Value := integer(SL);
  V.Params[1].Value := Index1;
  V.Params[2].Value := Index2;
  Result := TfsProcVariable(V).Value;
end;

function TFunctions.CallMethod(Instance: TObject; ClassType: TClass; const MethodName: String; Caller: TfsMethodHelper): Variant;
begin
  if Instance is TStringList then begin
    if MethodName = 'CUSTOMSORT' then begin
      C := Caller;
      SL := TStringList(Instance);
      SL.CustomSort(DoCompare);
    end else
  end;
end;


initialization
  fsRTTIModules.Add(TFunctions);

finalization
  fsRTTIModules.Remove(TFunctions);

end.



FR
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
var SL: TStringList;

function MySort(S: TStringList; Index1,Index2: integer): integer;
begin
  if S[Index1] < S[Index2] then Result := -1 else
  if S[Index1] > S[Index2] then Result := 1 else Result := 0;                                        
end;            



  
begin
  SL := TStringList.Create;
  
  SL.Add('ccc');
  SL.Add('bbb');
  SL.Add('aaa');
    
  SL.CustomSort(@MySort);
  ShowMessage(SL.Text);                                              
end.

...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644582
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

спасибо. :)
...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644595
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

Код: pascal
1.
 V.Params[0].Value := integer(SL);



На x64 забиваем?
...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644667
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всё кладём
...
Рейтинг: 0 / 0
Расскажите о CustomSort для TStringList, пожалуйста
    #39644723
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так точно, забиваем.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Расскажите о CustomSort для TStringList, пожалуйста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]