![]() |
Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
VB6 sintaxa conditiilor
Last Updated: Nov 05 2010 13:47, Started by
Crysty17
, Nov 04 2010 10:48
·
0

#1
Posted 04 November 2010 - 10:48

Am intrat de curand in tainele VB6. Nu pot sa il invat citind, trebuie sa lucrez in program. Am inceput prin a copia alte probrame. Acum am ajuns la un wizzard de instalare si as avea nevoie de putin ajutor:
[ http://img574.imageshack.us/img574/9861/48172613.jpg - Pentru incarcare in pagina (embed) Click aici ] Vreau de fapt, atat timp cat check1.value=1 command5.enabled sa fie true. Am incercat while, if do while... nimic nu a mers. ma puteti ajuta cu un sfat? In momentul de fata, cand dau click ini da enabled, dar dupa ce debifez casuta tot enabled ramane command5 Am verificat multe tutoriale si nu am reusit sa ma prind de faza Multumesc anticipat. |
#2
Posted 04 November 2010 - 11:10

Incearca asa:
Private Sub chkTest_Click() If chkTest.Value = vbChecked Then cmdTest.Enabled = True Else cmdTest.Enabled = False End If End Sub chkTest - checkbox-ul cmdTest - butonul Edited by Sandstorm, 04 November 2010 - 11:11. |
#3
Posted 04 November 2010 - 11:18

Incearca asa: Private Sub chkTest_Click() If chkTest.Value = vbChecked Then cmdTest.Enabled = True Else cmdTest.Enabled = False End If End Sub chkTest - checkbox-ul cmdTest - butonul Am reusit. Multumesc mult. A trebuit doar sa modific chkTest si cmdTest cu ce aveam eu in program. chkTest.value ia valoarea 1 pentru check si 0 pentru uncheck, totusi ai folosit vbChecked. Mai am multe de invatat.... :-( Multumesc inca odata. |
#4
Posted 04 November 2010 - 11:35

Poti sa pui 1 si 0, checked si unchecked, TRUE si FALSE.
Un sfat: incearca sa modific numele controalelor. Sa nu le lasi pe cele implicite pt. ca e cam greu de citit codul. Sa iti dau un exemplu. Ai un userform cu 3 butoane: button1, 2 si 3. De unde stii ce rol are fiecare? Daca pui cmdAfiseazaForm, cmdRuleazaCod, etc. e mai usor de identificat rolul fiecaruia, plus ca ai codul mai ordonat. Apoi, sa indentezi codul pentru o mai buna citire. E mai usor de urmarit firul de executie daca e indentat corect. |
#5
Posted 04 November 2010 - 11:46

Asa m-a intrumat si profesorul de programare vizuala, sa schimb numele. Eu insa prefer sa le las in ordinea lot. Probabil ca m-am obisnuit cu ele.
La programu care lucrez mi-a intrat in reflex... command1 face aia, command2 e ala... stiu ce fac toate butoanele importante plus ca nu am extraordinar de multe. Codul intradevar devine greoi. Am sa tin cont de sfatul tau la urmatorul proiect. Acum e prea avansat ca sa stau sa schimb numele tuturor cntrolelor La cod nu stiu ce as putea sa ordonez, sunt doar functii sinple de enable si visible. Acum s-ar putea sa ma chinui la instalarea propriuzisa a fisierelor. Am gasit baza de date cu VB**...*. Trebuie doar sa ma uit prin ea foarte atent pentru ca fiecare comanda are o mica descriere. |
#6
Posted 04 November 2010 - 22:03

Am dat de o alta problema (nu are treaba cu titlul topicului dar nu vrea sa aglomerez forumul): Nu stiu codul care imi genereaza foldere automat. Am cautat pe tot internetul si nimic :-s
Private Sub Command6_Click() Dim s() As Byte s = LoadResData(101, "CUSTOM") Open Text2.Text & " fisier1.txt" For Binary Access Write As #1 Put #1, , s Close #1 s = LoadResData(102, "CUSTOM") Open Text2.Text & "fisier2.txt" For Binary Access Write As #1 Put #1, , s Close #1 End Sub Aici pune fisier1.txt respectiv fisier2.txt in folderul dat de utilizator. Merge perfect atat timp can folderul este existent. Daca folderul nu exista primesc o eroare si anume: Rune-time error '76': Path not found pe langa conditia if ce comanda trebuie sa apelez? Edited by Crysty17, 04 November 2010 - 22:04. |
#7
Posted 05 November 2010 - 08:38

Nu inteleg ce vrei sa faci daca primesti eroarea.
De preferat (si este indicat) ca intotdeauna sa pui o procedura de error traping. Uite asa: Private Sub Command6_Click() Dim s() As Byte On Error GoTo err s = LoadResData(101, "CUSTOM") Open Text2.Text & " fisier1.txt" For Binary Access Write As #1 Put #1, , s Close #1 s = LoadResData(102, "CUSTOM") Open Text2.Text & "fisier2.txt" For Binary Access Write As #1 Put #1, , s Close #1 Exit Sub err: MsgBox err.Description, vbOKOnly + vbInformation, "Eroare" End Sub Acum, cand va aparea o eroare, ti se va afisa un mesaj de eroare, DAR programul tau nu se va mai inchide, asa cum iti face acum cand primesti eroare. Poti sa particularizezi si eroarea aparuta: folosesti Select Case Uite un model: Private Sub Command6_Click() Dim s() As Byte On Error GoTo err s = LoadResData(101, "CUSTOM") Open Text2.Text & " fisier1.txt" For Binary Access Write As #1 Put #1, , s Close #1 s = LoadResData(102, "CUSTOM") Open Text2.Text & "fisier2.txt" For Binary Access Write As #1 Put #1, , s Close #1 Exit Sub err: Select Case err.Number Case 76 MsgBox "Folderul destinatie nu exista. Te rog sa il creezi si apoi sa rulezi comanda dorita.", vbOKOnly + vbInformation, "Folder inexistent" Case Else MsgBox err.Description, vbOKOnly + vbInformation, "Eroare" End Select End Sub L.E. Uite codul ca sa iti faca folderele dorite cand ele nu exista: Sub FolderNou mkdir ("C:\Folder nou") End Sub Edited by Sandstorm, 05 November 2010 - 08:53. |
#8
Posted 05 November 2010 - 13:47

Am reusit:
Private Sub Command6_Click() Dim ok As Integer Text2.Text = Text2.Text & "\" On Error GoTo err err: Select Case err.Number Case 76 MsgBox "Your destination folder dose not exist. The wizzard will create the folder(s) for you", vbOKOnly + vbInformation, "Invalid folder" ok = 1 Case Else MsgBox err.Description, vbOKOnly + vbInformation, "Unknown error" End Select If ok = 1 Then MkDir (Text2.Text) End If Ruleaza perfect. Daca folderul nu exista, apare casuta de avertisment si creeaza sigur folderul. Totodata pune si fisierele necesare in acel folder. Daca exista folderul respectiv, pune fisierele fara nici-o eroare. Multumesc mult pentru ajutor. Daca am sa ajung un mare programator am sa imi aduc aminte de tine, promit. ![]() |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users