Exoskeletor Δημοσ. 2 Αυγούστου 2004 Δημοσ. 2 Αυγούστου 2004 gia na mhn kano synexeia kainourgia posts kai me bannari o ultra moderator: 1. Ginete ena DriveListBox sthn visual basic na deixnei mono ta cd-rom? (enoo na exei na epilekeis mono ta cd-rom pou exeis ston ypologisth sou kai oxi sklirous diskous,floppy disk drives klp) 2. Pos mporo otan kano add ena item se ena listbox na epilegete kiolas?(diladi na eine sinexeia epilegmeno to teleyteo item) ilpiza pos tha ginotan kapos etsi: set list1.list(i)= selected alla..
SaTaNaKoS Δημοσ. 2 Αυγούστου 2004 Δημοσ. 2 Αυγούστου 2004 Λοιπόν για το (1) δεν νομίζω να υπάρχει τέτοια επιλογή, αν δεν ξέρει και κάποιος άλλος κάτι που εμένα μπορεί να μου διαφεύγει, υλοποίησε ένα customized combobox στα μέτρα σου...! Όσο για το (2) αυτό που θες είναι το > List1.Selected(List1.ListCount - 1) = True [/code]
Exoskeletor Δημοσ. 2 Αυγούστου 2004 Μέλος Δημοσ. 2 Αυγούστου 2004 mamas file mamas.se eyxaristo poly (yparxh tropos na paro plirofories gia ta cd-rom pou exei ena pc? opos onoma dvd version ktl..) pos mporo na oriso na kanei kati leitourgies otan pataei kapoios to x(otan kleinei tin forma diladi) se mia forma? nomizo ginotan orizontas ena sub Form_close() i kati paromoio alla den thimame akribos...
kostas_crete Δημοσ. 3 Αυγούστου 2004 Δημοσ. 3 Αυγούστου 2004 afto pou zhtas ginetai sto unload event ths formas. epelekse form apo thn object list panw aristera kai deksia sthn event list epelekse unload. kai grafeis kwdika kanonika. gia ta cd rom 8a to psaksw kai 8a sou pw. alla prepei na ginetai me thn active directory services library.
SaTaNaKoS Δημοσ. 3 Αυγούστου 2004 Δημοσ. 3 Αυγούστου 2004 Δεν χρειάζεται Active Directory, υπάρχει ένα API, το οποίο επιστρέφει τον τύπο της συσκευής για δοσμένο Drive Letter... Έτσι με ένα Loop για όλα τα κεφαλαία γράμματα ψάχνεις να βρεις τον τύπο κάθε συσκευής που υπάρχει στο σύστημα. Σου έχω υλοποιήσει και μία ρουτίνα η οποία γεμίζει ένα ComboBox (Combo1 το όνομα αυτού). Κάλεσε την ή στο Form_Load μιας φόρμας ή από οπουδήποτε αλλού θέλεις > Private Declare Function GetDriveType Lib "kernel32" Alias _ "GetDriveTypeA" (ByVal nDrive As String) As Long Private Const DRIVE_CDROM = 5 Private Sub LoadCDROMDrives() Dim i As Integer Dim tmpDrive As String On Error GoTo errorh With Combo1 .Clear .AddItem "Επιλέξτε CD-ROM" For i = 0 To 25 tmpDrive = Chr(65 + i) & ":\" If GetDriveType(tmpDrive) = DRIVE_CDROM Then .AddItem tmpDrive Next .ListIndex = 0 End With Exit Sub errorh: MsgBox Err.Description End Sub
Exoskeletor Δημοσ. 4 Αυγούστου 2004 Μέλος Δημοσ. 4 Αυγούστου 2004 nase kala file mou.eyxaristo. 2 mono erotiseis mou exoun meinei: 1. pos mporo na sigentroso oles ths formes se mia? tora etsi opos exo ftiaksei to programa mou otan patas next,kribete mia forma kai emfanizete mia allh.pos ginete na sigentrothoun oles se mia? (px san na exo mono mia forma kai kathe fora na alazoun ta objects pou exei mesa.an kai den thelo ayto.ego thelo me kapoion tropo na mporo na bazo se ena plaisio pou eine san forma alles formes mesa.) 2.to diskolo eine na ftiakso ena kodika pou tha bazeis to cd-rom kai to fakelo pou thes na sou kani copy ta files kai tous ipofakelous.
SaTaNaKoS Δημοσ. 4 Αυγούστου 2004 Δημοσ. 4 Αυγούστου 2004 Λοιποοοοοοοοοοοοόν! grrrrrr@#(&%#$(&%$(%# έγραφα τόση ώρα τι να κάνεις και πάτησα Submit και χάθηκαν όλα!! :evil: :evil: Τέσπα, άντε παμε πάλι! Λοιπόν υπάρχει μια βιβλιοθήκη η Microsoft Scripting Runtime. Θα την κάνεις reference στο Project... Σου έχω υλοποιήσει μια ρουτίνα η οποία θα κάνει αντιγραφή από ένα Drive σε κάποιο Folder. Ο κώδικας είναι παρακάτω. Με μικροαλλαγές μπορείς να αντιγράψεις και από Folder σε Folder, οπότε απλά ψάξε λίγο τις μεθόδους της Scripting.FileSystemObject, φαντάζομαι ότι έχει αυτά που ζητάς. > Private Sub CopyDrive(ByVal ISrcDrive As String, ByVal IDFolder As String) Dim cl As Scripting.FileSystemObject Dim IFile As Scripting.File Dim IRootFolder As Scripting.Folder Dim IDstFolder As Scripting.Folder Dim IFolder As Scripting.Folder On Error GoTo errorh Set cl = New Scripting.FileSystemObject If cl.DriveExists(ISrcDrive) Then If Not cl.FolderExists(IDFolder) Then Set IDstFolder = cl.CreateFolder(IDFolder) Else Set IDstFolder = cl.GetFolder(IDFolder) End If Set IRootFolder = cl.GetDrive(ISrcDrive).RootFolder For Each IFolder In IRootFolder.SubFolders cl.CopyFolder IFolder.Path, IDstFolder.Path + "\" + IFolder.Name Next For Each IFile In IRootFolder.Files cl.CopyFile IFile.Path, IDstFolder.Path + "\" + IFile.Name Next End If If Not IFile Is Nothing Then Set IFile = Nothing If Not IFolder Is Nothing Then Set IFolder = Nothing If Not IRootFolder Is Nothing Then Set IRootFolder = Nothing If Not IDstFolder Is Nothing Then Set IDstFolder = Nothing Exit Sub errorh: MsgBox Err.Description If Not IFile Is Nothing Then Set IFile = Nothing If Not IFolder Is Nothing Then Set IFolder = Nothing If Not IRootFolder Is Nothing Then Set IRootFolder = Nothing If Not IDstFolder Is Nothing Then Set IDstFolder = Nothing End Sub Έτσι αν θες να αντιγράψεις από το E:\ στο folder C:\Lakis θα γράψεις > CopyDrive "E:\", "C:\Lakis". Παρατήρησα επίσης, μιας και δεν είχα ασχοληθεί ξανά με Drives ότι η Srcipting.FileSystemObject έχει την δυνατότητα να κανει browse τα Drives και να δεις ποια από αυτά ειναι τα CDRom χωρίς να χρειάζεσαι να βάλεις API στην φόρμα σου. 8) > Private Sub LoadCDROMDrives() Dim cl As Scripting.FileSystemObject Dim i As Integer Dim tmpDrive As String On Error GoTo errorh Set cl = New Scripting.FileSystemObject With Combo1 .Clear .AddItem "Επιλέξτε CD-ROM" For i = 0 To 25 tmpDrive = Chr(65 + i) & ":\" If cl.DriveExists(tmpDrive) Then If cl.GetDrive(tmpDrive).DriveType = CDRom Then .AddItem tmpDrive End If Next .ListIndex = 0 End With Exit Sub errorh: MsgBox Err.Description End Sub Όσο για το 1ο ερώτημα σου, το να έχεις μια φόρμα και να κάνει όλη την δουλειά θα πρέπει να υλοποιείς κάθε φορά τα Controls της φόρμας δυναμικά, πράγμα που είναι χρονοβόρο και δύσκολο. :twisted: Βέβαια το αποτέλεσμα μπορεί να σε δικαιώσει. Όσον αφορά όμως το πως θα κάνεις τις φόρμες σου να ανήκουν σε μία άλλη Parent, θα πρέπει να προσθέσεις στο Project σου μια MDI Form και να αλλάξεις το project και να ξεκινάει με αυτήν. Άπο εκεί και πέρα θα αλλάξεις το Property MDIChild σε όλες τις υπόλοιπες φόρμες σε True ok!??! /* ΠΙΠΙΝΙΑΑΑΑΑ, STRINGAKIAAAAA, ΣΑΝΤΟΡΙΝΗ ΕΡΧΟΜΑΣΤΕ!!!! */
SaTaNaKoS Δημοσ. 4 Αυγούστου 2004 Δημοσ. 4 Αυγούστου 2004 Επειδή τώρα είδα το 1ο μήνυμα σου πάλι, μέσω της Srcipting.FileSystemObject μπορείς να βρεις πληροφορίες για το CDRom version etc etc!! ok??! 8) /* Δεν ξαναλέω πάλι για πιπίνια!! Έχετε καταλάβει οτι θέλω επειγόντως διακοπές!!!! */
Exoskeletor Δημοσ. 4 Αυγούστου 2004 Μέλος Δημοσ. 4 Αυγούστου 2004 nase kala friend.tha to dokiomaso argotera.tha alakso ligo ton kodika giati thelo me kapoio tropo na metrao ola ta arxeia pou exei to cd. (etsi oste otan antigrafonte na anebenei kai mia progress bar.) ayto enoo: number_of_files = progressbar1.max ProgressBar1.value = ProgressBar1.value + 1 Label3.Caption = Int(ProgressBar1.value * 100 / ProgressBar1.Max) & " % Complete"
datanet Δημοσ. 5 Αυγούστου 2004 Δημοσ. 5 Αυγούστου 2004 nase kala file mou.eyxaristo.1. pos mporo na sigentroso oles ths formes se mia? tora etsi opos exo ftiaksei to programa mou otan patas next' date='kribete mia forma kai emfanizete mia allh.pos ginete na sigentrothoun oles se mia? (px san na exo mono mia forma kai kathe fora na alazoun ta objects pou exei mesa.an kai den thelo ayto.ego thelo me kapoion tropo na mporo na bazo se ena plaisio pou eine san forma alles formes mesa.) [/quote'] Φιλε, μπορεις να βαλεις ολα τα controls μιας φορμας σε ενα frame και να το κανεις invisible και μετα να κανεις visible το frame2 που θα πeριεχει τα controls μιας αλλης φορμας και παει λεγοντας....
Exoskeletor Δημοσ. 5 Αυγούστου 2004 Μέλος Δημοσ. 5 Αυγούστου 2004 xmm.tha to skefto (pos perno thn apolyth timh apo mia metablhth?)
SaTaNaKoS Δημοσ. 6 Αυγούστου 2004 Δημοσ. 6 Αυγούστου 2004 Ναι μπορείς να το κάνεις και έτσι αρκεί να μην έχεις πολλές φόρμες να βάλεις και γίνει ένας πανικός εκεί μέσα!!!! 8) Το καλό είναι να μπορείς εύκολα να συντηρείς τον κώδικά σου... Όσο για την απόλυτη τιμή ABS(Variable) είναι η function που ζητάς..
Exoskeletor Δημοσ. 6 Αυγούστου 2004 Μέλος Δημοσ. 6 Αυγούστου 2004 eyxaristo gia thn apolyth timh.to xriazomoun gia ena programa pou aferei xronous..exo se mia metablhth mia ora ths morfhs "15:23:54" kai se mia allh to idio ligo poio meta "16:45:45" thelo na afero me enan tropo thn deyterh apo thn proth ora.prospatho na ftiakso ton kodika alla den mou ginete teleios sosta re gmto.. o kodikas pros to paron eine(text1=ora prin,text2=ora meta): hoursbegin = Left$(Text1, 2) hoursend = Left$(Text2, 2) minutesbegin_ = Left$(Text1, 5) minutesbegin = Right$(minutesbegin_, 2) minutesend_ = Left$(Text2, 5) minutesend = Right$(minutesend_, 2) secondsbegin = Right$(Text1, 2) secondsend = Right$(Text2, 2) If hoursend > hoursbegin Or hoursend = hoursbegin Then hours = hoursend - hoursbegin Else If hoursend < hoursbegin Then hours = hoursend + 1 End If End If If minutesend > minutesbegin Or minutesend = minutesbegin Then minutes = Abs(minutesend - minutesbegin) Else hours = hours - 1 minutes = Abs(60 - (minutesbegin - minutesend)) End If If secondsend > secondsbegin Then seconds = Abs(secondsbegin - secondsend) Else seconds = Abs(60 - (secondsbegin - secondsend)) minutes = minutes - 1 End If If hours > 12 Then hours = hours - 12 End If If seconds = 60 Then minutes = minutes + 1 seconds = seconds - 60 End If duration = hours & ":" & minutes & ":" & seconds MsgBox duration nomizo pos eine mia xara o kodikas.ton xrisimopoio gia na do posi ora ekane na oloklhrothi mia diadikasia.douleyei sosta ektos ean h diadikasia pari pano apo 24 ores.elpizo na mhn ipirxe allos tropos poio eukolos kserei kaneis pos mporo na to kano module h kati tetoio?na grafo as poume (timestart=time1,timeend=time2): msgbox Duration(timestart,timeend) kai na mou bgazei ton xrono?
The_Edge Δημοσ. 11 Αυγούστου 2004 Δημοσ. 11 Αυγούστου 2004 Μπορείς βέβαια να ψάχνεις και στο msdn για κάτι τέτοια ζητήματα. Και δεν το λέω για να στην πω, αλλά το "ψάξιμο" είναι βασικό συστατικό στον προγραμματισμό, και πρέπει να μάθεις να το κάνεις και αυτό σωστά... Τα fora θα πρέπει να είναι η τελευταία σου επιλογή για την λύση στα προβλήματα σου, και ειδικά για τα ζητήματα που έχουν να κάνουν με τις βασικές λειτουργίες (πχ system functions) στις γλώσσες προγραμματισμού. Εάν πχ έψαχνες στο msdn για το τελευταίο σου πρόβλημα χρησιμοποιώντας keywords όπως "date datatype" και "date functions", θα έβρισκες πολλά ενδιαφέροντα πράγματα (πχ Datediff function), και δεν θα έγραφες πάλι όλα αυτά τα "κουλά", συν ότι δεν θα ήσουν 5 μέρες κολλημένος να περιμένεις μία απάντηση.... Μπορείς να χρησιμοποιήσεις την Datediff function για να κάνεις αυτό που λες και να πάρεις τον αριθμό των δευτερολέπτων που έχουν περάσει. Διαιρείς (χρησιμοποιώντας το "\" αντί για το "/" - περισσότερες πληροφορίες πάλι στο msdn) με 3600 και έχεις τις ώρες!!! Διαιρείς το υπόλοιπο με το 60 (με τον ίδιο πάλι τρόπο) και έχεις τα λεπτά!!! Το υπόλοιπο είναι τα δευτερόλεπτα!! Το άλλο που λες λέγεται Function (και όχι module). Πληροφορίες πολλές για το πώς φτιάχνεις function, στο msdn.
Exoskeletor Δημοσ. 16 Αυγούστου 2004 Μέλος Δημοσ. 16 Αυγούστου 2004 den mou thn les me boithas alla kai pali ayto pou egrapsa den eine katholou koulo.htan mia orea askisoula thanx
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.