Comment transformer du delphi en VB ?

LIQUIDAMBAR Messages postés 5 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 12 mai 2006 - 11 mai 2006 à 14:20
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 12 mai 2006 à 08:46
J'essaye de transformer le programme ci-dessous et n'y parviens pas. Pourrais-je avoir un peu d'aide?
Ce code Delphi se trouve sur chambily.com avec l'exemple "121".
Merci d'avance.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var nb1,rac1 : integer ;
exacte1 : boolean ;
t : array[0..50] of integer ;
s : string ;

function racine_majoree(carre : integer) : integer ;
var a : integer ;
begin
a:=round(sqrt(carre)) ;
if a*a<carre then inc(a) ;
racine_majoree:=a ;
end ;

procedure cherche(a_trouver,nb,niveau : integer; exacte : boolean) ;
var bool : boolean ;
rac,diff,carre,i,j : integer ;
begin
if not exacte then dec(nb) ;
if nb>=1 then
for i:=nb downto 1 do
begin
carre:=i*i ;
diff:=a_trouver-carre ;
if (diff=0) and (i<t[niveau-1]) then
begin
s:='' ;
for j:=1 to niveau-1 do s:=s+inttostr(t[j]*t[j])+'+' ;
s:=s+inttostr(carre)+'='+inttostr(nb1*nb1) ;
memo1.lines.add(s) ;
end
else
begin
rac:=racine_majoree(diff) ;
t[niveau]:=i ;
bool:=(rac*rac=diff) ;
if (i<t[niveau-1]) then //--- on s'assure que les nombres sont distincts
cherche(diff,rac,niveau+1,bool) ;
end ;
end ;
end ;
begin
memo1.lines.clear ;
t[0]:=1000000 ;
nb1:=strtoint(edit1.text) ;
rac1:=racine_majoree(nb1*nb1) ;exacte1:=(rac1*rac1=nb1) ;
cherche(nb1*nb1,rac1,1,exacte1) ;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close ;
end;

end.


GDM

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
11 mai 2006 à 14:58
Bonjour

Pour une form, utilise le conceptuer de VB.

var a : integer ;
Dim a as integer

t : array[0..50] of integer
Dim T(0 to 50) as integer

function racine_majoree(carre : integer) : integer ;
Public/private function racine_majoree(byval carre as integer) as integer

for i:=nb downto 1 do
For i=nb to 1 step -1

diff:=a_trouver-carre ;
diff=a_trouver-carre

if (i<t[niveau-1]) then
if i<t(niveau-1) then

nb1:=strtoint(edit1.text) ;
nb1=cint(edit1.text)

procedure cherche(a_trouver,nb,niveau : integer; exacte : boolean) ;
public/private sub cherche(byval a_trouver as Variant, byval nb as variant, byval niveau as integer,byval exacte as boolean)

close ;
unload me
ou
end

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
LIQUIDAMBAR Messages postés 5 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 12 mai 2006
12 mai 2006 à 01:25
Merci pour cette réponse mais que veut dire plus facile de batiser kk1 que de la convertir et utiliser le concepteur de VB. Excuse-moi mais je ne possède pas toutes les notions de VB 5.
D'avance, je te remercie,

GDM
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
12 mai 2006 à 08:46
Bonjour

En vert, c'est ma signature

Pour le concepteur :
tu créé un nouveau projet dans VB5 (je ne programme que à partir de VB6, mais ça doit être pareil), Executable Windows.
Ensuite tu peux modifier, ajouter, supprimer une form (explorateur de projet).
Tu peux ajouter, déplacer, modifier, supprimer des controles en utilisant la barre d'outile (controles).

ps : je n'ai pas accès au web le weekend.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
Rejoignez-nous