Visual basic hjälp!|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
Visual basic hjälp!
Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1
May 5, 2006 - 1:02 pm
sp_Permalink sp_Print

HEj
Jag skulle vara tacksam om nån kunde skriva koden till Visual Basic som visar hur man spara en lista i programmet i form av txt-fil, jag vill göra 3 knappar i en formulär med en lista där jag kan skapa ny lista, jobba med gammal fil och lagra listans innehåll.
Om ni vill kan ni skicka det till min mejl, tack!

Avatar
Lord_Kvadd
Member
Medlem
Forum Posts: 3176
Member Since:
February 3, 2003
sp_UserOfflineSmall Offline
1038845
May 5, 2006 - 1:44 pm
sp_Permalink sp_Print

Ska du ha ut det du skriver i en listbox till en fil eller är det en textbox du skriver in listan i?

Är det en textbox är det enkelt.

Private Sub Command1_Click()
Open "C:hej.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub

Eller något i den stilen.
Ska du öppna en gammal fil är det bara att köra input istället för for output och input istället för Print.
Testa lite och lär. Rekommenderat är att om du ska läsa in data från en gammal fil så spara innehållet i en variabel och inte direkt till text1.text exempelvis. Det kan bli lite problem om du gör det.

Sedan hoppas jag det är VB6 du talar om och inte VB .net eller något.

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1038853
May 5, 2006 - 2:17 pm
sp_Permalink sp_Print

Jag jobbar med visual basic 6, det är listbox jag jobbar med, du skrev print i din kod du menar väl inte skriva ut för jag vill spara och öppna txtfiler som jag har listans innehåll i, hopas du förstår hur jag menar.

Avatar
Lord_Kvadd
Member
Medlem
Forum Posts: 3176
Member Since:
February 3, 2003
sp_UserOfflineSmall Offline
1038870
May 5, 2006 - 3:03 pm
sp_Permalink sp_Print

Print-kommandot gör att du skriver något till filen, man kan också använda "write". Print behöver inte betyda att jag ska skriva ut det till skrivarn eller något.

Sedan att skriva ut från en listbox kan bli lite knepigt, men det går att komma runt, det finns säkert ett lättare sätt men du kan få lite psuedo-kod av mig.

while-sats som stegar genom alla fälten i listboxen. Första fältet är 0 så du får ta list1.listcount - 1 hela tiden. Låt säga att du har 10 fält i listboxen då kommer det sista fältet ha index 9.

Skriv ut varje fält i en osynlig textbox, med en speciell indikator mellan varje fält.
Så om det står:

Skor
Kläder
Huva

i listen blir det : Skor|Kläder|Huva i textfältet.

Sedan sparar du så som jag skrev i mitt förra inlägg.
Och när du ska öppna filen igen, gör en enkel while-sats som stegar igenom texten och vid varje | så lägger in det som står mellan de två | i ett eget fält.
Nu klöddar jag nog ganska mycket, det finns säkert enklare sätt men det är i alla fall ett sätt.

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1038892
May 5, 2006 - 3:59 pm
sp_Permalink sp_Print

min uppgift är att skriva ett namn i en textbox och sedan genom att trycka på en command-knapp överföra namnet från textrutan till listrutan, när jag har skrivit klart alla namn jag vill ha med ska jag kunna spara alla namnen i en txt-fil genom att trycka på en command-knapp, sen ska jag kunna hämta det genom att trycka på en annan command knapp och en command-knapp till ska jag ha för att skapa en ny lista.
asså jag är inte så bra på att skriva koder, men om jag fårstår så vill du att jag hämtar först innehållet från listbox till en textbox och sen sparar det, men om det inte gör dig för mycket besvär skulle jag uppskatta om du skrev koden till mig.

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1039047
May 6, 2006 - 10:18 am
sp_Permalink sp_Print

den som skriver koden till mig får en belöning, typ 20 kr ellr nåt..snälla jag behöver detta till måndag skriv till mig..

Hypno Toad
Kommer du hit ofta?
Medlem
Forum Posts: 694
Member Since:
December 29, 2004
sp_UserOfflineSmall Offline
1039087
May 6, 2006 - 12:15 pm
sp_Permalink sp_Print

Är det meningen att du ska klara uppgiften själv? Du går ju ändå i skolan, och antagligen på gymnasiet=förbjudet att fuska.

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1039115
May 6, 2006 - 3:02 pm
sp_Permalink sp_Print

nej det är en läxuppgift, man får ta hjälp av lärare men jag har inte haft tid att göra det, så jag undrar om nån här kan hjälpa mig med det, dom andra i min klass har fått hjälp av lärare men jag har inte hunnit göra det och nu är det helg så jag kan inte gå till skolan.. det är inget fusk för på provet måste jag kunna det ändå men jag vill att nån gör den här uppgiften åt mig så jag kan se hur dom har gjort och förstå det.

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1039341
May 7, 2006 - 1:26 pm
sp_Permalink sp_Print

vad hjälpsam man var här då... :arg:

buffster
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 21
Member Since:
January 5, 2005
sp_UserOfflineSmall Offline
1039357
May 7, 2006 - 2:27 pm
sp_Permalink sp_Print

Testa detta:


F = FreeFile
Open "C:test.txt" For Output As F
For i = 0 To List1.ListCount - 1
Print #F, List1.List(i)
Next i
Close F
Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1039365
May 7, 2006 - 3:06 pm
sp_Permalink sp_Print

Tack, kan du skriva koden för hur man sorterar en lista också?
jag har testat:

Public Sub sortera(arr() As Integer)
Dim Minindex As Integer, Maxindex As Integer, nr As Integer, Plats As Integer
Dim pl As Integer, maxv As Integer
Minindex = LBound(arr)
Maxindex = UBound(arr)
For nr = Maxindex To Minindex + 1 Step -1
maxv = arr(Minindex)
Plats = minidex
For pl = Minindex To nr
If arr(pl) > maxv Then
Plats = pl
maxv = arr(pl)
End If
Next
Call bytvärden(arr(nr), arr(Plats))
Next
End Sub

och sen:

Private Sub cmdSortera_Click()
sortera (lstNamn)
End Sub

jag får felmeddelandet: Type missmatch: array or user-defined type expected...
kanske för att det är sträng i listan?

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1039368
May 7, 2006 - 3:08 pm
sp_Permalink sp_Print

buffster wrote: Testa detta:


F = FreeFile
Open "C:test.txt" For Output As F
For i = 0 To List1.ListCount - 1
Print #F, List1.List(i)
Next i
Close F

Vad står F för och vad står i för?

buffster
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 21
Member Since:
January 5, 2005
sp_UserOfflineSmall Offline
1039379
May 7, 2006 - 3:35 pm
sp_Permalink sp_Print

Vill du sortera listan i bokstavsordning behöver du bara sätta sorted=true i properties för den listboxen.

F står för nummret på filen, F = FreeFile ser till att F får ett nummer som inte används redan. Bra om man har ett program som har flera filer öppna samtidigt.

i är radnummret i listboxen,
första raden är 0, andra 1, tredje 2 osv

"For i = 0 To List1.ListCount - 1
Print #F, List1.List(i)
Next i"
gör att vi läser en rad åt gången och skriver den till en egen rad i filen

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1039381
May 7, 2006 - 3:47 pm
sp_Permalink sp_Print

Om jag har en knapp låt oss säga cmdLagra, hur ska jag skriva koden till den då så att den lagrar listans innehåll?

Typ:
Private Sub cmdLagra_Click()
kod
End Sub

Babrakbarbar
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 128
Member Since:
May 5, 2006
sp_UserOfflineSmall Offline
1039467
May 7, 2006 - 9:18 pm
sp_Permalink sp_Print

Det löste sig tack vore Buffster, ni kan låsa tråden nu.

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 395
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL