May 5, 2006
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!
February 3, 2003
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.
February 3, 2003
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.
May 5, 2006
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.
May 5, 2006
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.
May 5, 2006
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?
January 5, 2005
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
1 Guest(s)