IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Conversion d'un code Visual Basic


Sujet :

Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 42
    Par défaut Conversion d'un code Visual Basic
    Bonjour à tous !

    C'est peut-être trop vous demander mais qui pourrait me mettre ce code VB en code Delphi ? Pour que je puisse l'utiliser par la suite (je suis super nul en programmation). Merci !

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    Declare Function GetClassWord Lib "User32" (ByVal hWnd As Integer, ByVal
    nIndex As Integer) As Integer
    Declare Function ExtractIcon Lib "SHELL32" (ByVal hInst As Integer, ByVal
    lpszexename As String, ByVal hicon As Integer) As Integer
    Declare Function DrawIcon Lib "User32" (ByVal hDC As Integer, ByVal x As
    Integer, ByVal y as Integer, ByVal hicon As Integer) As Integer
     
    Global Const GCW_HMODULE = (-16)
    Global Const GWW_HINSTANCE = (-6)
     
    3. Placez sur la feuille form1 une zone de texte "icône", une zone image
    "Image1" avec la propriété AutoRedraw à vraie, et trois boutons de
    commande: "FlecheG", "FlecheD", et "BoutQuit".
     
    Si vous avez le Professional Toolkit for Visual Basic , ajoutez une
    boîte de dialogue "CMDialog1" et un bouton de commande "BoutRech"
     
    4. Ajoutez les déclarations suivantes dans la partie déclaration de la
    feuille :
     
    Dim NumIcon%
    Dim NbIcon%
    Dim myhinst%
     
    5. Ajoutez le code suivant dans chaque procédure de la feuille Form1 :
     
    Sub Form_Load ()
    icône.Text = "progman.exe"
    End Sub
     
    Sub BoutQuit_Click ()
    End
    End Sub
     
    Sub FlecheD_Click ()
    ' teste si d'autres icônes présentes et si oui, avance d'un icône
    If NumIcon < NbIcon - 1 Then
    NumIcon = NumIcon + 1
    res% = VisuIcon(NumIcon)
    End If
    End Sub
     
    Sub FlecheG_Click ()
    ' teste si l'icône actuelle est la première du fichier sinon afficher
    ' l'icône précédente
    If NumIcon > 0 Then
    NumIcon = NumIcon - 1
    res% = VisuIcon(NumIcon)
    End If
    End Sub
     
    Sub icône_Change ()
    ' affiche l'icône du nouveau nom de fichier
    NbIcon = 0
    i% = VisuIcon(NumIcon)
    If i% <> 0 And i% <> 1 Then
    NbIcon = ExtractIcon(myhinst, icône.Text, ByVal -1)
    End If
    End Sub
     
    Function VisuIcon% (Num%)
    'extrait l'icône et l'affiche
    Image1.Picture = LoadPicture("")
    If icône.Text = "con" Or icône.Text = "aux" Then Exit Function
    myhinst = GetClassWord(Form1.hWnd, GCW_HMODULE)
    hicon = ExtractIcon(myhinst, icône.Text, Num)
    If hicon <> 0 And hicon <> 1 Then r% = DrawIcon(Image1.hDC,1,1,hicon)
    Image1.Refresh
    VisuIcon% = hicon
    End Function
     
    6. Si vous avez le contrôle boîte de dialogue, ajoutez la procédure
    suivante :
     
    Sub BoutRech_Click ()
    On Error Résumé Next
    CMDialog1.Filename = "*.exe"
    CMDialog1.Action = 1
    nomfic$ = CMDialog1.Filename
    If Err = 0 Then icône.Text = CMDialog1.Filename
    End Sub

  2. #2
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    De façon rapide (j'ai enlevé le filtre du OpenDialog), la déclaration des fonctions sont dans les unités Windows et ShellAPI:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
      TForm6 = class(TForm)
        btnExit: TButton;
        btnDroite: TButton;
        btnGauche: TButton;
        btnRecherche: TButton;
        Image1: TImage;
        icône: TEdit;
        CMDialog1: TOpenDialog;
        procedure FormCreate(Sender: TObject);
        procedure btnExitClick(Sender: TObject);
        procedure btnDroiteClick(Sender: TObject);
        procedure btnGaucheClick(Sender: TObject);
        procedure btnRechercheClick(Sender: TObject);
      private
        { Déclarations privées }
        NumIcon: integer;
        NbIcon: integer;
        myhinst: integer;
        procedure icône_Change;
        Function VisuIcon(Num: integer): integer;
      public
        { Déclarations publiques }
      end;
     
     
    var
      Form6: TForm6;
     
     
    implementation
     
     
    Function TForm6.VisuIcon(Num: integer): integer;
    var
      hicon: integer;
    begin
      // 'extrait l'icône et l'affiche
      Image1.Picture := nil;
      If (icône.Text = 'con') Or (icône.Text = 'aux') Then
        Exit;
      myhinst := GetClassWord(handle, GCL_HMODULE);
      hicon := ExtractIcon(myhinst, PChar(icône.Text), Num);
      If (hicon <> 0) And (hicon <> 1) Then begin
        DrawIcon(Image1.Canvas.handle, 1, 1, hicon);
        Image1.Refresh;
      end;
      REsult := hicon;
    End;
     
     
    {$R *.dfm}
     
     
     
     
    procedure TForm6.btnExitClick(Sender: TObject);
    begin
    //  close;
    end;
     
     
    procedure TForm6.btnDroiteClick(Sender: TObject);
    begin
      // ' teste si d'autres icônes présentes et si oui, avance d'un icône
      If NumIcon < NbIcon - 1 Then begin
        NumIcon := NumIcon + 1;
        VisuIcon(NumIcon);
      end;
    End;
     
     
    procedure TForm6.btnGaucheClick(Sender: TObject);
    begin
      // ' teste si l'icône actuelle est la première du fichier sinon afficher
      // ' l'icône précédente
      If NumIcon > 0 Then begin
        NumIcon := NumIcon - 1;
        VisuIcon(NumIcon);
      End;
    end;
     
     
    procedure TForm6.btnRechercheClick(Sender: TObject);
    begin
      If CMDialog1.Execute Then begin
        icône.Text := CMDialog1.Filename;
        icône_Change;
      end;
    end;
     
     
    procedure TForm6.FormCreate(Sender: TObject);
    begin
      icône.Text := 'progman.exe'
    end;
     
     
    procedure TForm6.icône_Change;
    var
      i: integer;
    begin
      // ' affiche l'icône du nouveau nom de fichier
      NbIcon := 0;
      i := VisuIcon(NumIcon);
      If (i <> 0) And (i <> 1) Then begin
        NbIcon := ExtractIcon(myhinst, PChar(icône.Text), 0);
      End;
    end;

Discussions similaires

  1. Conversion des codes visual Basic 6 en java
    Par pndem1 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 11/12/2012, 16h40
  2. Insérer du code (Visual Basic) dans LateX
    Par MatP dans le forum Mise en forme
    Réponses: 5
    Dernier message: 11/08/2009, 21h54
  3. convertir un code C++ builder en code Visual basic ?
    Par xwinner dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/05/2007, 11h04
  4. code Visual basic 6
    Par seyiv dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/03/2007, 07h58
  5. Synchronisation dans le code Visual Basic
    Par David à Sherbrooke dans le forum Access
    Réponses: 2
    Dernier message: 05/01/2007, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo