Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
Documents
/
DEV2
:
VB2E3.tmp
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
Attribute VB_Name = "Module4" Option Explicit Dim Num As Integer Dim Pos_X As Integer Dim Pos_Y As Integer Dim Type_Instance As String Dim Orientation As String ' Filter Public Const filtre_champ = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*|" Public Function Ouvrir_Document() ' ouvrir un document existant On Error GoTo OpenError Dim Fichier_Nom As String Dim Data As String Dim chaine(200) As String Dim nbre_ligne As Integer Dim position As Integer Dim cpt_PAD As Integer nbre_ligne = 1 With Prog_Frm .CmDlg.CancelError = True .CmDlg.DialogTitle = "Selection du fichier � ouvrir" .CmDlg.Filter = filtre_champ .CmDlg.FilterIndex = 1 .CmDlg.ShowOpen End With Fichier_Nom = Prog_Frm.CmDlg.FileName ' lecture du fichier Open Fichier_Nom For Input As #1 ' Dim intFic As Integer 'Dim client As tClient 'intFic = FreeFile 'Open "c:\pad.txt" For Random As intFic Len = Len(client) 'Get intFic, 1, client 'MsgBox client.Num 'Get intFic, 2, client 'MsgBox client.Num 'Close intFic Dim temp As String Dim PAD_toto As Integer While Not EOF(1) Input #1, Data$ cpt_PAD = cpt_PAD + 1 chaine(nbre_ligne) = Data$ ' + Chr$(13) + Chr$(10) temp = chaine(nbre_ligne) extraction_champ (temp) ' insert un pad PAD_toto = Insert(Pos_X, Pos_Y, Type_Instance, Orientation) ReDraw Prog_Frm.Schema_Box nbre_ligne = nbre_ligne + 1 Wend Close #1 OpenError: 'If Err.Number = 32755 Then Exit Function 'If canceled then exit function 'ErrorLog "modDocument/OpenDocument" End Function Sub extraction_champ(chaine As String) Dim Tableau() As String Dim i As Integer 'd�coupe la chaine en fonction des espaces " " 'le r�sultat de la fonction Split est stock� dans un tableau Tableau = Split(chaine, " ") 'boucle sur le tableau pour visualiser le r�sultat For i = 0 To UBound(Tableau) 'Le r�sultat s'affiche dans la fen�tre d'execution de l'�diteur de macros Debug.Print Tableau(i) Next i Num = Tableau(0) Pos_X = Tableau(1) Pos_Y = Tableau(2) Type_Instance = Tableau(3) Orientation = LCase(Tableau(4)) End Sub Public Property Get CancelError() As Boolean CancelError = m_CancelError End Property Public Property Let CancelError(ByVal New_CancelError As Boolean) m_CancelError = New_CancelError PropertyChanged "CancelError" End Property Public Property Get Filter() As String Filter = m_Filter End Property Public Property Let filtre(ByVal New_Filter As String) m_Filter = New_Filter PropertyChanged "Filtre" End Property Public Property Get FilterIndex() As Integer FilterIndex = m_FilterIndex End Property Public Property Let FilterIndex(ByVal New_FilterIndex As Integer) m_FilterIndex = New_FilterIndex PropertyChanged "FilterIndex" End Property Public Property Get DialogTitle() As String DialogTitle = m_DialogTitle End Property Public Property Let DialogTitle(ByVal New_DialogTitle As String) m_DialogTitle = New_DialogTitle PropertyChanged "DialogTitle" End Property Public Function Import_Template() On Error GoTo OpenError Dim Fichier_Nom As String Dim Data As String Dim chaine(200) As String Dim nbre_ligne As Integer Dim position As Integer Dim cpt_PAD As Integer nbre_ligne = 1 With Prog_Frm .CmDlg.CancelError = True .CmDlg.DialogTitle = "Selection du fichier � ouvrir" .CmDlg.Filter = filtre_champ .CmDlg.FilterIndex = 1 .CmDlg.ShowOpen End With Fichier_Nom = Prog_Frm.CmDlg.FileName ' lecture du fichier Open Fichier_Nom For Input As #1 Dim temp As String Dim PAD_toto As Integer While Not EOF(1) Input #1, Data$ cpt_PAD = cpt_PAD + 1 chaine(nbre_ligne) = Data$ temp = chaine(nbre_ligne) extraction_champ (temp) ' ajouter la pin PAD_toto = Insert_Pin(Pos_X, Pos_Y, Num) Dessine_PIN Prog_Frm.Schema_Box nbre_ligne = nbre_ligne + 1 Wend Close #1 OpenError: End Function Public Function Insert_Pin(ByVal cX As Integer, ByVal cY As Integer, ByVal Num) As Long ' incr�mente le nombre de pin NB_PIN = NB_PIN + 1 ' redimensionne le tableau de liens ReDim Preserve Objet_PIN(NB_PIN - 1) ' instancie un nouveau pad Set Objet_PAD(NB_PIN - 1) = New pin ' defini les parametres de la nouvelle pin tmp = Objet_PIN(NB_PIN - 1).Set_PIN_Parametres(NB_PIN - 1, cX, cY) ' retourne l'ID de la pin Insert_Pin = NB_PIN - 1 End Function Public Sub Dessine_PIN(pic As PictureBox) 'on redessine tout le tableau Dim i As Integer, j As Integer Dim PosX As Integer, PosY As Integer Dim EtatEntrees() As Long Dim EntreePos() As Integer Dim Gravite_Pos_X As Integer, Gravite_Pos_Y As Integer Dim Selectionnee As Long Dim Type_PAD As String Dim Orientation_PAD As String PosX = 0 PosY = 0 pic.Cls 'on dessine les objets For i = 0 To NB_PIN - 1 ' recupere la position du pad tmp = Objet_PIN(i).Get_PIN_Position(PosX, PosY) 'dessine le pad tmp = Dessine_PAD(PosX, PosY, Gravite_Pos_X, Gravite_Pos_Y, Orientation_PAD, Etat, Type_PAD, pic, Selectionnee) tmp = Objet_PAD(i).SetPosition(PosX, PosY, Gravite_Pos_X, Gravite_Pos_Y) Next i 'on dessine les liens For i = 0 To NB_PAD - 1 DessineLiens (i) Next i End Sub