bonjour, bonsoir
une question vraiment con :
un projet vb construit pour windows aurait-il un moyen, une piste de le rendre compatible mac
je pense que tout le code devra être ré-écris?
bonjour, bonsoir
une question vraiment con :
un projet vb construit pour windows aurait-il un moyen, une piste de le rendre compatible mac
je pense que tout le code devra être ré-écris?
L'utilisation d'une machine virtuelle dans le mac est peut être une solution à ton problème.
Autrement .Net n'est pas pris en charge sous Mac. Peut être une exception pour SilverLight (à confirmer).
Avec Mono tu peux faire du C#.Net, avec MoonLight (toujours Mono), tu peux faire du Silverlight.
Il y a certainement des fonctionnalités réduites.
Sous Mac c'est le vrai Silverlight de Microsoft, pas Moonlight. C'est donc pleinement compatible (l'interop COM en moins).
Retrouvez moi sur :
Mon Espace Developpez.com-------------------------------
Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code----------------------------
Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
bonjour ,
MERCI de toutes vos réponse !! je pensai tout simplement qu'on allais me dire "impossible" voilà pourquoi je ne suis pas rentrer dans les détails c'est d'ailleurs la preuve qu'il n'y a pas de question bête.
étant un très grand novice c'est grâce à ce forum forum que j'ai pu réalisé mon application (dont le début fin année 2010 été catastrophique) celle-ci reste familiale étant donné que le but es de mettre à disposition une partie de mon disque dure ( du ftp en mode fenêtré ) j'ai tout fait pour que l'utilisation soit la plus simple possible pour l'utilisateur ( comme si il naviguais sur leur propre pc étant donné qu'il y en à qui n'y connaisse vraiment rien "ma maman".
cependant un des utilisateur es sous mac mon appli es du vb.net avec des commande dos je vais poster les forms concerné pour l'utilisateur mac car pour faire simple je mettrai que les forms principales.
étant donné que je n'es pas envi de faire de bêtise sur un OS (mac) dont je connais rien et donc que je ne pourrai pas remédier au éventuel beug occasionné par mon application je me permet de vous poster 4 forms savoir exactement la démarche à suivre.
ayant conscience que cela fait beaucoup de lecture / d'analyse je remercie d'avance ceux qui m'aurons accorder de leur temps (comme ceux qui on déjà répondu ce qui me fait espérer une compatibilité), cependant je vous remercierai d'être assez explicite dans vos éventuel réponse afin qu'un grand novice comme moi qui comprend peu puisse comprendre vos réponse
form login
form principal (avec menu strip permettant de télécharger / envoyer ...)
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132 Option Explicit On Option Strict Off Imports System.IO Public Class FrmLogin Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MsgBox("Bonjour, vous allez être invité à saisir vos identifiants. Les utilisateurs n'ayant pas eu d'identifiant devront saisir dans MDP : <anonyme>. Mais n'auront pas accès à l'intégralité du logiciel , vous pouvez toujours me faire parvenir une demande à l'adresse suivante : <email> ", vbInformation, "Z!T¤ùn @NT!C!P-W!N-32") 'déclaration Dim FSys FSys = CreateObject("Scripting.FileSystemObject") Dim shell, envoi shell = CreateObject("WScript.Shell") '***************************************************************************** '***************************************************************************** 'déclaration Dim Comande Comande = FSys.CreateTextFile("C:\ftp\script\envoi.txt") 'fichier créer With Comande 'ecris les commandes Comande.writeLine("open adresse ftp") Comande.writeLine("id") Comande.writeLine("mdp") Comande.writeLine("lcd c:\ftp\script") Comande.writeLine("get login.txt") Comande.writeLine("quit") End With Comande.Close() '***************************************************************************** '***************************************************************************** 'téléchargement du fichier sur le server ftp envoi = "cmd /c ftp -s:c:\ftp\script\envoi.txt" shell.Run(envoi, 0, True) 'déclaration pour attendre la commande ci-dessus pour continuer Dim Recup Recup = shell.Run(envoi, 0, True) 'fin End Sub Private Sub BtConexion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtConexion.Click 'exemple pour 10 Utilisateurs Dim IdAdmin As String Dim MdpAdmin As String Dim MdpPlublik As String Dim Id(9) As String Dim Mdp(9) As String Dim ii As Integer Dim Autorisation As Boolean 'tu rentre tous utilisateurs et les mot de passe dans les tableaux IdAdmin = "id" 'form admin 'form famille Id(0) = "id" Id(1) = "id" Id(2) = "id" Id(3) = "id" Id(4) = "id" Id(5) = "id" Id(6) = "id" Id(7) = "id" Id(8) = "id" Id(9) = "id" '.... MdpAdmin = "mdp" 'form admin MdpPlublik = "anonyme" 'form publik 'form famille Mdp(0) = "mdp" Mdp(1) = "mdp" Mdp(2) = "mdp" Mdp(3) = "mdp" Mdp(4) = "mdp" Mdp(5) = "mdp" Mdp(6) = "mdp" Mdp(7) = "mdp" Mdp(8) = "mdp" Mdp(9) = "mdp" ' test pour tous les utilisateurs famille For ii = 0 To 9 ' si le login est bon et si il corespond au mdp If ((Id(ii) = TextId.Text) And (Mdp(ii) = TextMdp.Text)) Then Autorisation = True ProgressBarLogin.Value = 0 ProgressBarLogin.Value = 100 MsgBox("Bonjour, Accès sécurisé autorisé " + TextId.Text, vbInformation, "Z!T¤ùn @NT!C!P-W!N-32") ProgressBarLogin.Value = 0 Me.Hide() FrmPrincipal.Show() Exit For 'dés que c'est bon tu quitte la boucle ' sinon tu n'autorise pas l'accés Else Autorisation = False End If Next '...................................................... ' test pour utilisateurs administrateur If ((IdAdmin = TextId.Text) And (MdpAdmin = TextMdp.Text)) Then Autorisation = True MsgBox("Accès ADMINISTRATEUR, " + TextId.Text, vbInformation, "Z!T¤ùn @NT!C!P-W!N-32") Me.Hide() FrmAdmin.FrmLogin = Me FrmAdmin.Show() ' test pour utilisateurs publik ElseIf (TextMdp.Text = "anonyme") Then Autorisation = True MsgBox("Bonjour, Accès limité autorisé " + TextId.Text, vbInformation, "Z!T¤ùn @NT!C!P-W!N-32") 'lance FrmPublique si autoriser Me.Hide() FrmRestrinte.Show() End If 'gère l'echec des mdp If Not Autorisation Then MsgBox("accès non autorisé adresse de contact : <email>") Me.Show() TextMdp.Text = "" End If End Sub Private Sub BtQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtQuit.Click 'supression If System.IO.File.Exists("c:\ftp\script\envoi.txt") Then 'ici File.Delete("c:\ftp\script\envoi.txt") 'ici End If If System.IO.File.Exists("c:\ftp\script\login.txt") Then 'ici File.Delete("c:\ftp\script\login.txt") 'ici End If 'ferme form End End Sub Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgressBarLogin.Click End Sub End Class
la form envoyer (upload)
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 Option Explicit On Option Strict Off Imports System.IO Public Class FrmPrincipal Private Sub FrmPrincipal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.MonWeb.Navigate("http://site") '***************************************************************************** '***************************************************************************** 'envoie rapports des connexion Dim FSys FSys = CreateObject("Scripting.FileSystemObject") Dim shell, Info, Computer, Nam, Dat, Tim, Fin, Ftp shell = CreateObject("WScript.Shell") '***************************************************************************** '***************************************************************************** Info = "cmd /c echo **************************>>c:\ftp\script\login.txt" Computer = "cmd /c echo pc: %computername%>>c:\ftp\script\login.txt" Nam = "cmd /c echo user: %username%>>c:\ftp\script\login.txt" Dat = "cmd /c echo date: %date%>>c:\ftp\script\login.txt" Tim = "cmd /c echo heure: %time%>>c:\ftp\script\login.txt" Fin = "cmd /c echo **************************>>c:\ftp\script\login.txt" '***************************************************************************** shell.Run(Info, 0, True) shell.Run(Computer, 0, True) shell.Run(Nam, 0, True) shell.Run(Dat, 0, True) shell.Run(Tim, 0, True) shell.Run(Fin, 0, True) '***************************************************************************** '***************************************************************************** Dim Comand Comand = FSys.CreateTextFile("C:\ftp\script\ftp.txt") 'fichier créer With Comand 'ecris les commandes Comand.writeLine("open adresse ftp") Comand.writeLine("id") Comand.writeLine("mdp") Comand.writeLine("put C:\ftp\script\login.txt") 'ici Comand.writeLine("quit") End With Comand.Close() '***************************************************************************** Ftp = "cmd /c ftp -s:c:\ftp\script\ftp.txt" shell.Run(Ftp, 0, True) Dim uplo uplo = shell.Run(Ftp, 0, True) '***************************************************************************** '***************************************************************************** MsgBox("Pensé à vérifier les mise à jour") '***************************************************************************** If System.IO.File.Exists("c:\ftp\script\envoi.txt") Then 'ici File.Delete("c:\ftp\script\envoi.txt") 'ici End If If System.IO.File.Exists("c:\ftp\script\login.txt") Then 'ici File.Delete("c:\ftp\script\login.txt") 'ici End If If System.IO.File.Exists("c:\ftp\script\ftp.txt") Then File.Delete("c:\ftp\script\ftp.txt") End If '****************************************************************** 'fin rapport End Sub Private Sub ENZOToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ENZOToolStripMenuItem.Click MonWeb.Navigate("ftp://*****") End Sub Private Sub AudioToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AudioToolStripMenuItem.Click MonWeb.Navigate("ftp://*****") End Sub Private Sub VidéoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VidéoToolStripMenuItem.Click MonWeb.Navigate("ftp://*******") End Sub Private Sub FondÉcranToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FondÉcranToolStripMenuItem.Click MonWeb.Navigate("ftp://*******") End Sub Private Sub LogicielToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LogicielToolStripMenuItem.Click MonWeb.Navigate("ftp://*******") End Sub Private Sub BtWebValideLien_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtWebValideLien.Click ProgressBarOuvreSite.Value = 0 ProgressBarOuvreSite.Value = 10 ProgressBarOuvreSite.Value = 20 ProgressBarOuvreSite.Value = 30 ProgressBarOuvreSite.Value = 40 ProgressBarOuvreSite.Value = 50 ProgressBarOuvreSite.Value = 60 ProgressBarOuvreSite.Value = 70 ProgressBarOuvreSite.Value = 80 ProgressBarOuvreSite.Value = 90 ProgressBarOuvreSite.Value = 100 MonWeb.Navigate(TextBoxLienWeb.Text) ProgressBarOuvreSite.Value = 0 End Sub Private Sub BtWebSuivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtWebSuivant.Click MonWeb.GoForward() End Sub Private Sub BtWebPrécédent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtWebPrécédent.Click MonWeb.GoBack() End Sub Private Sub ZTùNnTCPWn32MonSiteWebToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ZTùNnTCPWn32MonSiteWebToolStripMenuItem.Click MonWeb.Navigate("http://site") End Sub Private Sub BtWebGoogle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtWebGoogle.Click MonWeb.Navigate("http://www.google.fr/firefox?client=firefox-a&rls=org.mozilla:fr:official") End Sub Private Sub EnvoyerFichierToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EnvoyerFichierToolStripMenuItem.Click Me.Hide() Frmupload.Show() End Sub Private Sub QUITTERLEPROGRAMMEToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QUITTERLEPROGRAMMEToolStripMenuItem.Click End End Sub Private Sub AncienSiteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AncienSiteToolStripMenuItem.Click MonWeb.Navigate("http://site") End Sub Private Sub VérifierMAJToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VérifierMAJToolStripMenuItem.Click MonWeb.Navigate("ftp://******") End Sub Private Sub EnvoyerEmailToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EnvoyerEmailToolStripMenuItem.Click ContactFrm.Show() End Sub End Class
et enfin la form contact ( envoi simplement mail)
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 Imports System.IO Public Class Frmupload Private Sub BtUploAnnulFich_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtUploAnnulFich.Click Me.Hide() FrmPrincipal.Show() End Sub Private Sub BtUploChercheFich_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtUploChercheFich.Click '************************************************************* '***********boutton pour charger le fichier à envoyer********* '************************************************************* 'déclaration + demande choix uploade '******************************************* Dim myStream As Stream Dim openFileDialog1 As New OpenFileDialog() openFileDialog1.InitialDirectory = "c:\" openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" openFileDialog1.FilterIndex = 2 openFileDialog1.RestoreDirectory = True If openFileDialog1.ShowDialog() = DialogResult.OK Then myStream = openFileDialog1.OpenFile() If Not (myStream Is Nothing) Then 'inscrit le fichier choisi dans le textboxFichuplo TextBoxFichuplo.Text = (openFileDialog1.FileName) myStream.Close() End If End If End Sub Private Sub BtUploEnvoiFich_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtUploEnvoiFich.Click '*************************************************** '***********boutton pour envoyer le fichier********* '*************************************************** '******************************************* 'déclaration + creer fichier choixUP.txt**** '******************************************* Dim FSys FSys = CreateObject("Scripting.FileSystemObject") Dim Monfic Monfic = FSys.CreateTextFile("C:\ftp\script\choixUP.txt") 'écris le résultat choix upload dans le fichier choixdUP With Monfic Monfic.writeLine("open adreesse ftp") Monfic.writeLine("id") Monfic.writeLine("mdp") Monfic.writeLine("put """ & TextBoxFichuplo.Text & "") Monfic.writeLine("quit") End With Monfic.close() 'lance progress bar Timer1.Start() '**************************************** '**déclaration + lancement upload ftp ** '**************************************** Dim Shell, com, Result, UP Shell = CreateObject("WScript.Shell") com = "cmd /c ftp -s:c:\ftp\script\choixUP.txt" MsgBox("Envoi du fichier en cours veuillez patienter jusqu'au prochain message, cela peut durer plusieurs minutes ...", vbInformation, "FTP2011") 'lancement Shell.Run(com, 0, True) 'indique fin upload Result = Shell.Run(com, 0, True) 'arrete progress bar Timer1.Stop() 'met le progress bar a 100% ProgressBarUplo.Value = 100 UP = ("Fichier envoyé !") MsgBox(UP) '**************************** If System.IO.File.Exists("c:\ftp\script\choixUP.txt") Then File.Delete("c:\ftp\script\choixUP.txt") End If 'remet progress bar a zero ProgressBarUplo.Value = 0 'ferme form upload et reviens a form précédente Me.Hide() FrmPrincipal.Show() End Sub Private Sub ProgressBarUplo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgressBarUplo.Click If ProgressBarUplo.Value = 100 Then ProgressBarUplo.Value = 0 Else ProgressBarUplo.Value = Val(ProgressBarUplo.Value) + Val(1) End If End Sub End Class
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 Imports System.Net.Mail Public Class ContactFrm Dim message As New MailMessage Dim Smtp As New SmtpClient Private Sub ContactFrm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Start() End Sub Private Sub BtEnvoi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtEnvoi.Click Try message.From = New MailAddress(expediteurtxt.Text) message.To.Add(Destinateretxt.Text) message.Body = texttxt.Text message.Subject = sujetttxt.Text message.Priority = MailPriority.Normal Smtp.EnableSsl = True Smtp.Port = "587" Smtp.Host = "Smtp.live.com" 'Smtp.live.com, / Smtp.gmail.com Smtp.Credentials = New Net.NetworkCredential(expediteurtxt.Text, passexpediteurtxt.Text) Smtp.Send(message) MsgBox("Message envoyer") Catch ex As Exception MsgBox("Exception : " & ex.Message) End Try End Sub Private Sub BtQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtQuit.Click Me.Close() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If ProgressBar1.Value = 100 Then ProgressBar1.Value = 0 Else ProgressBar1.Value = Val(ProgressBar1.Value) + Val(1) End If End Sub End Class
Non clairement ca ne marchera pas![]()
Retrouvez moi sur :
Mon Espace Developpez.com-------------------------------
Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code----------------------------
Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
Si c'est du VB.Net oui, via Mono. Il "suffira" de le transcrire en C#.Net, ce qui est beaucoup plus rapide que de le réécrire (et ça sera encore compatible Windows).
J'imagine qu'en plus il existe des outils pour transformer VB => C#.
Si c'est du VB 6.0 ou antérieur, alors là c'est peine perdue.
Partager