Résultats de AnsiCompareStr('A C', 'ABC') différents entre Delphi (Windows) et Lazarus (Linux)
Bonjour,
En exécutant l'instruction
Code:
result := AnsiCompareStr('A C', 'ABC');
j'obtiens result = 1 avec Lazarus 2.2.0, FPC 3.2.2 sous UBUNTU 20.4
En exécutant la même instruction
j'obtiens result = -1 avec DELPHI Sydney 10.4 sous Windows 10
Seule différence entre les 2 sources la clause uses.
Le source (Lazarus):
Code:
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
|
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
result : Integer;
begin
result :=AnsiCompareStr('A C', 'ABC');
ShowMessage(InttoStr(result);
end;
end. |
Le source (DELPHI)
Code:
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
|
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
result : Integer;
begin
result := AnsiCompareStr('A C', 'ABC');
ShowMessage(InttoStr(result));
end;
end. |
Si quelqu'un a une piste ,...Merci