Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


VB6 problem.. HJÄLP!!

Postades av 2002-11-21 02:52:01 - Karsten Tvarnö, i forum visual basic - allmänt, Tråden har 13 Kommentarer och lästs av 1286 personer

Hej hej.
Jag har några problem med ett program som jag håller på med, och skulle va väldigt tacksam om någon kunde hjälpa mig, då jag har hållt på med det i 3 dagar(dygn)..
jag är väldigt nybörjare så det är lite krångligt.. i alla fall läs längre ner på sidan för mer info.

det är säkert en del till problem eller något som kan göras smidigare eller något. men så här har jag löst det hittils, om det är någon som vill ha det okompilerade programmet för test så får dom givetvis det.

blir evigt tacksam för all hjälp som jag kan få.


Option Explicit
Dim sFörnamn As String
Dim sEfternamn As String
Dim slogin As String
Dim sLösenord As String
Dim Antal As Integer
Dim filnr As Integer
Dim post As Integer
Dim FilNamn As String
Dim sFilNamn As String

Private Sub Form_Load()
Dim namn As String
On Error GoTo starterr
Open App.Path & "\data\sök.txt" For Input As #1
Do Until EOF(1)
Input #1, namn
Combo1.AddItem namn
Loop
Close #1
starterr:

form_load1
form_load2

End Sub


Private Sub form_load1()
Dim obj
Dim Postlängd As Integer


On Error GoTo errorh
Postlängd = Len(Konton)
filnr = FreeFile
FilNamn = App.Path & "\data\konton.txt"
Open FilNamn For Random As filnr Len = Postlängd
post = 1
Antal = FileLen(FilNamn) / Postlängd


errorh:
On Error GoTo errorhh
MkDir (App.Path & "\data")
Form_Load
Exit Sub
errorhh:
Exit Sub

On Error GoTo errhandler1
Set obj = CreateObject("Scripting.FileSystemObject")
obj.createtextfile App.Path & "\data\konton.txt"
errhandler1:
Exit Sub

End Sub
Private Sub form_load2()
Dim obj
Dim sPostlängd As Integer

sPostlängd = Len(Konton.login)
sFilNr.sFilNr = FreeFile
sFilNamn = App.Path & "\data\sök.txt"
Open sFilNamn For Random As sFilNr.sFilNr Len = sPostlängd
sPost.sPost = 1
sAntal.sAntal = FileLen(sFilNamn) / sPostlängd

On Error GoTo errhandler2
Set obj = CreateObject("Scripting.FileSystemObject")
obj.createtextfile App.Path & "\data\sök.txt"
errhandler2:
Exit Sub

End Sub

Private Sub mnuÄndra_Click()
Bytlösen.Show
End Sub

Private Sub mnuAvsluta_Click()
Close filnr
Close sFilNr.sFilNr
Unload Me
End
End Sub

Private Sub mnuSök_Click()
frmSök.Show
End Sub

Private Sub mnuSpara_Click()
stegtvå
End Sub

Private Sub stegtvå()

Konton = Konton
Antal = Antal + 1
Put filnr, Antal, Konton
post = Antal
stegtre

End Sub

Private Sub stegtre()

slogin = slogin
sAntal.sAntal = sAntal.sAntal + 1
Put sFilNr.sFilNr, sAntal.sAntal, Konton.login
sPost.sPost = sAntal.sAntal
form1.txtFörnamn.SetFocus
poster
rensa

End Sub

Private Sub mnuVisa_Click()

MsgBox ("Som systemadministratör så borde du veta hur man sköter detta vanliga loginprogram, men tydligen inte.")
MsgBox ("Du matar först in förnamn och efternamn och så generas ett konto med initialerna. Lösenordet rekomenderas starkt att det byts, och det kan du göra under File Byt lösneord där du även kan söka konto, ta bort konto, spara konto och skriva ut konto.")

End Sub

Private Sub txtEfternamn_KeyPress(KeyAscii As Integer)

If KeyAscii = vbKeyReturn Then
txtLogin = Left(Konton.Förnamn, 1) & Left(Konton.Efternamn, 1)
txtLösen = ("v1") & Left(Konton.Förnamn, 2) & Left(Konton.Efternamn, 2)
Konton.login = txtLogin
Konton.Lösen = txtLösen
End If
slogin = form1.txtLogin
Konton.Efternamn = form1.txtEfternamn
Konton.Förnamn = form1.txtFörnamn
Konton.login = form1.txtLogin
Konton.Lösen = form1.txtLösen
Combo1.AddItem txtLogin

End Sub

Private Sub txtFörnamn_KeyPress(KeyAscii As Integer)

If KeyAscii = vbKeyReturn Then
txtEfternamn.SetFocus
End If

End Sub

Private Sub mnuSkrivut_Click()

Printer.Print "Förnamn:" & txtFörnamn
Printer.Print "Efternamn:" & txtEfternamn
Printer.Print "Login:" & txtLogin
Printer.Print "Lösenord:" & txtLösen
Printer.EndDoc

End Sub

Private Sub txtLogin_Change()
Konton.login = form1.txtLogin
slogin = form1.txtLogin
End Sub

Private Sub txtLösen_Change()
Konton.Lösen = form1.txtLösen
End Sub

Private Sub txtFörnamn_Change()
Konton.Förnamn = form1.txtFörnamn
End Sub

Private Sub txtEfternamn_Change()
Konton.Efternamn = form1.txtEfternamn
End Sub

Public Sub poster()
Get filnr, post, Konton

End Sub

Public Sub rensa()
form1.txtEfternamn = ""
form1.txtFörnamn = ""
form1.txtLogin = ""
form1.txtLösen = ""
End Sub


frmSök

Option Explicit
Dim söknamn As String

Private Sub cmdAvsluta_Click()
Unload Me
End Sub

Private Sub txtSök_Change()
söknamn = txtSök
sök
End Sub

Private Sub sök()

Dim räknare As Integer
If Not söknamn = "" Then
söknamn = UCase(söknamn)
For räknare = 1 To sAntal.sAntal
Get sFilNr.sFilNr, räknare, Konton.login
If UCase(Trim(Konton.login)) = söknamn Then
sPost.sPost = räknare
End If
Next räknare
MsgBox ("Hittade ingen post")
Else
MsgBox ("Du har inte angivit något namn")
End If
End Sub





modul1

Global Konton As Kontoinfo
Global sAntal As sAntal
Global sFilNr As sFilNr
Global sPost As sPost

Type sPost
sPost As String
End Type

Type sFilNr
sFilNr As Integer
End Type

Type sAntal
sAntal As Long
End Type

Type Kontoinfo
Förnamn As String * 10
Efternamn As String * 10
login As String * 4
Lösen As String * 8
End Type






Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 09:11:14 - Raderat konto

Hej, nu har jag kollat lite o förstår inte riktigt, ligger dom sida vid sida i txt-filen?

Om du sparar så här:

<code>
Open "testfil.txt" For Append As #1 ' skriver längst ner i filen
Print #1, "hej"
Close #1
</code>

så kommer allt under varann i txt-filen, om man sen använder ditt:

<code>
Dim namn As String

Open "c:\text2.txt" For Input As #1
Do Until EOF(1)
Input #1, namn
Combo1.AddItem namn
Loop
Close #1

</code>

så hamnar det helt ok i combolistan.
Har jag fattat fel nu?:-)


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 12:48:31 - Karsten Tvarnö

konstigt nog så gör dom inte det, utan den skriver ut allt i comboboxen på samma sätt som det står i txt filen.

säg att det står

KT SL JH BO .... så skriver den ut det på samma sätt i boxen, jag vill ju så klart ha

KT
SL
JH
BO och om jag skriver in det i txt filen på det sättet så skrivs det ju ut i comboboxen på det sättet också, fast jag lyckas inte få till det att det skrivs ut i txt filen så som jag vill.

Tack för svaret.

koden där uppe är ändrad på lite granna. jag har även lite nya problem, dels att sökfunktionen inte funkar, den ska söka på dom posterna som finns i sök.txt och om den hittar någon som är exakt likadan så hämtar den alla poster från konton.txt och skriver ut i textboxarna. .. eller ska den göra.

och så har jag inte enns börjat på hur man tar bort konton. vilket jag också ska göra.

och den sista funktionen som ska finnas är att när man har matat in ett konto och ska spara så ska den kolla så att det inte finns något annat konto med samma namn, och om det gör det så ska man hoppa tillbaka till formuläret och skriva in en ny login för hand.


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 13:05:52 - Raderat konto

<code>
Open "testfil.txt" For Append As #1 ' skriver längst ner i filen
Print #1, STRÄNG
Close #1


Om STRÄNG innehåller "KT SL JH BO" så blir det så det skrivs i textfilen, om du delar strängen med split så skulle du få det rätt.

<code> 'räknar antal poster

Public Function arrayCount(ByVal arr As Variant) As Long
On Error Resume Next
arrayCount = UBound(arr, 1) - LBound(arr, 1) + 1
End Function
********************************************************

Private Sub Command1_Click()
Dim namn As String

Open "c:\text2.txt" For Input As #1
Do Until EOF(1)
Input #1, namn
Loop
Close #1


Dim sText() As String, STRÄNG
STRÄNG = namn

sText() = Split(STRÄNG)

lngAntalPoster = arrayCount(sText) 'räknar poster
Dim i
For i = 0 To lngAntalPoster - 1

Combo1.AddItem sText(i) 'ändra till 2 för nästa ord i strängen osv
Next i

End Sub


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 13:53:07 - Karsten Tvarnö

när jag använder append så kan den inte läsa av text filen, det blir tomt i combobox. det är ingen som orkar ta emot programmet så långt som jag har kommit med det och kolla på det?


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 14:22:50 - Sven Åke Persson

Hej
> MsgBox ("Som systemadministratör så borde du veta hur man sköter detta vanliga loginprogram, men tydligen inte.")

Eftersom du anslår en så här "besserwisser" otrevlig ton, så får du fixa det bäst du kan.

/Sven


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 15:42:27 - Raderat konto

Kan hålla med Sven där, ändra msgboxen lite.

Du LÄSER inte filen med append, du SKRIVER till den och det hamnar längst ner i filen.

Du LÄSER med INPUT och lägger det du läser i comboboxen med:
<code>
Dim namn As String

Open "c:\text2.txt" For Input As #1
Do Until EOF(1)
Input #1, namn 'HÄR HAR "NAMN" NU STRÄNGEN FRÅN TEXTFILEN

Loop
Close #1


Dim sText() As String, STRÄNG
STRÄNG = namn

sText() = Split(STRÄNG) ' DELAR UPP STRÄNGEN

lngAntalPoster = arrayCount(sText) 'RÄKNAR ANTAL POSTER (ORD I STRÄNGEN)

Dim i
For i = 0 To lngAntalPoster - 1 'LÄGGER ORDEN(POSTERNA) I COMBOBOXEN

Combo1.AddItem sText(i)

Next i



OBSERVERA att SPLIT delar strängar med mellanslag om inget annat anges, du måste då skriva "sText()=split(sträng, ",") om du har kommaseparerade ord.

Du måste oxå ha en textfil som har just som du har nu, dvs hela infot på en rad.
Hoppas du förstår nu.


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 15:58:01 - Sven Åke Persson

Hej
Till Benny. Du bör sluta med att skriva så här.
> Open "c:\text2.txt" For Input As #1

I all vänlighet : så här bör du skriva i princip.
Dim FNum As Long
FNum = FreeFile
Open "c:\text2.txt" For Input As #FNum
-----------
---------

Close #FNum

/Sven


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 16:02:52 - Raderat konto

Ok, motivera din kommentar så jag vet varför:-)


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 16:06:55 - Johan Djupmarker

>Ok, motivera din kommentar så jag vet varför:-)

Får se om jag är snabbare än Sven här...;)

FreeFile ger dej ett ledigt filnummer, du riskerar alltså inte att använda samma nummer på 2 filer (det blir inte bra...).

/Johan


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 16:28:06 - Raderat konto

aha, jag har uppdaterat mina funktioner nu så jag kör från o me nu på detta sätt:) tack för tipset.


Undras om huvudfrågan löst sig:)


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 17:33:50 - Karsten Tvarnö

>MsgBox ("Som systemadministratör så borde du veta hur man sköter detta vanliga loginprogram, men tydligen inte.")

va ju såklart menat som ett skämt.. men visst, det är en liten knäpp på näsan när man själv står där med skägget i brevlådan :-).. jag hoppars att ni kan hjälpa mig ändå med dom andra sakerna också. så ändrar jag msgboxen..
Tack!

ska prova om jag får till den versionen som står längst ner.


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 18:02:14 - Sven Åke Persson

Hej igen
Du Är Ursäktad :-)
Själv har jag råkat ut för detta flera gånger,
ibland sitter skämten fel, tex när jag fes i kyrkan.

/Sven 0 :-)


Svara

Sv: VB6 problem.. HJÄLP!!

Postades av 2002-11-21 19:14:07 - Karsten Tvarnö

BOOYA .. en fis i kyrkan är väl alltid rolig.

i alla fall, jag fixade det där med att man skulle kunna blädra mellan kontonen på ett helt annat sätt, ett som va mycket smidigare och enklare, med hjälp av commandbuttons =). jag får fixa det där med combobox lite senare.

nu har jag dock att ta bort konton, och att det inte ska gå att ha likadan login.

jag har uppdaterat koden ovan.



Svara

Nyligen

  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe
  • 20:22 Spel
  • 17:07 Snabb och trevlig webbplats utan l
  • 17:00 Bra spelsajt med bonusar
  • 15:51 Slappna av
  • 15:17 Onlineunderhållning på fritiden
  • 11:13 Online Kasino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 095
27 955
271 725
1 362
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies