Avatar billede jesper2003 Nybegynder
14. juni 2005 - 17:25 Der er 44 kommentarer og
1 løsning

Opdaterings knap i VB

Hvor dan laver jeg en knap man kan klikke på så den tjekker om der er en opdatering? Og vis der er så spørger den om man vil opdatere
Avatar billede thesurfer Nybegynder
14. juni 2005 - 20:03 #1
Opdater dit keyboard, køleskab, eller hvad?

/theSurfer
Avatar billede jesper2003 Nybegynder
14. juni 2005 - 20:44 #2
Nej jeg har et program. Så når jeg laver en opdatering så kan dem der har programmet klikke på en knap der hedder opdate så tjekker den om der er opdateringer. Og vis der er så henter den den
Avatar billede thesurfer Nybegynder
14. juni 2005 - 21:18 #3
Du kan lægge en txt fil på en server, og bruge Inet (Microsoft Internet Transfer) control'en eller WinSock control'en, til at hente txt filen ned..

Hvordan du opbygger oplysningerne i txt-filen, er helt op til dig.. bare du selv kan finde ud af det..

Prøv at lave en søgning på "download" i Visual Basic kategorien:

http://www.eksperten.dk/spm/Programmering/Visual-Basic/?sort=&order=DESC&status_1=on&status_2=on&status_3=on&spm_creator=&spm_part=&spm_answer=&find=download&engine=exp

Eksempel: http://eksperten.dk/spm/487256

Hjalp det?

/theSurfer
Avatar billede joern Nybegynder
14. juni 2005 - 22:28 #4
Hej Jesper.

Dér har du 'inet' igen.  Det letteste er dog at lade brugeren selv vurdere, om der er en opdatering.  I mine programmer kan man klikke på produktions-labelen, derfra er link til det pågældende programs revisions-side.  F.eks.  http://jkfsoft.dk/fuglerev.htm
Avatar billede jesper2003 Nybegynder
16. juni 2005 - 08:16 #5
Det er sådan noget jeg allerede har
Avatar billede jesper2003 Nybegynder
16. juni 2005 - 08:17 #6
thesurfer Hvor dan tjekker den kode der om der er en opdatering
Avatar billede jesper2003 Nybegynder
16. juni 2005 - 08:18 #7
Har set den før men troede ikke den kunne bruges til det.
Avatar billede martin_moth Mester
16. juni 2005 - 08:20 #8
Du kunne f.eks. bygge et versionsnummer ind i dit program. Og lade en lille text-fil ligge hvor opdateringerne er. Så kan dit program kikke efter på opdateringsstedet, og læse i txt-filen, og står der et højere nummer i txt-filen hanter den opdateringen.

Bare en simpel fremgangsmåde
Avatar billede thesurfer Nybegynder
16. juni 2005 - 18:53 #9
F.eks. som martin_moth beskrev det..

/theSurfer
Avatar billede jesper2003 Nybegynder
16. juni 2005 - 20:44 #10
Får disse fejl når jeg ligger den ind,

Error    1    'Public Property Left() As Integer' has no parameters and its return type cannot be indexed.    H:\C4 Clan\C4-Clan\Form2.Designer.vb    57    41    C4-Clan
Error    2    Keyword is not valid as an identifier.    H:\C4 Clan\C4-Clan\Form2.Designer.vb    72    7    C4-Clan
Error    3    'Caption' is not a member of 'C4_Clan.Form2'.    H:\C4 Clan\C4-Clan\Form2.Designer.vb    74    9    C4-Clan
Warning    4    Function 'CancelDownload' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.    H:\C4 Clan\C4-Clan\Form2.Designer.vb    69    5    C4-Clan
Warning    5    Variable 'RichTextBox1' is used before it has been assigned a value. A null reference exception could result at runtime.    H:\C4 Clan\C4-Clan\Form2.Designer.vb    87    9    C4-Clan
Avatar billede jesper2003 Nybegynder
16. juni 2005 - 21:07 #11
Har prøvet at rette fejlen men kan ikke lige se hvad der er galt.
Avatar billede thesurfer Nybegynder
18. juni 2005 - 23:55 #12
Hvordan ser din kode ud?

/theSurfer
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 11:24 #13
Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Option Explicit

    Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
    Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
    Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, ByVal lNumberOfBytesRead As Long) As Integer
    Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer

    Dim Cancel_Download As Long

    Function DownloadString(ByVal UrlFile As String) As String
        Dim UrlInternetOpen As Long
        Dim UrlInternetOpenUrl As Long
Dim UrlBuffer As String * 2048
        Dim UrlBytes As Long
        Dim UrlComplete As String

        Cancel_Download = 0

        UrlInternetOpen = InternetOpen("Download String", 1, vbNullString, vbNullString, 0)
        UrlInternetOpenUrl = InternetOpenUrl(UrlInternetOpen, UrlFile, vbNullString, 0, &H80000000, 0)
        Do
            InternetReadFile(UrlInternetOpenUrl, UrlBuffer, Len(UrlBuffer), UrlBytes)
            If UrlBytes = 0 Or Cancel_Download = 1 Then Exit Do 'Cancel_Download
            UrlComplete = UrlComplete & Left$(UrlBuffer, UrlBytes)
            DownloadBytes(Len(UrlComplete))  'Function DownloadBytes
            DoEvents()
        Loop
        InternetCloseHandle(UrlInternetOpenUrl)
        InternetCloseHandle(UrlInternetOpen)

        DownloadString = UrlComplete
    End Function

    Function CancelDownload()
        Cancel_Download = 1
    End Function

    Function DownloadBytes(ByVal Bytes As Long)
        Me.Caption = "Download: " & Bytes & " Bytes"
    End Function




    Private Sub Command1_Click()
        Call CancelDownload()
    End Sub

    Private Sub Command2_Click()
        RichTextBox1.Text = DownloadString("http://www.eksperten.dk/spm/487256")
    End Sub

End Class
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 11:25 #14
Lige en ny fejl raport

Error    2    'Option' statements must precede any declarations or 'Imports' statements.    H:\C4 Clan\C4-Clan\Form2.vb    7    5    C4-Clan
Error    3    End of statement expected.    H:\C4 Clan\C4-Clan\Form2.vb    19    25    C4-Clan
Error    4    Name 'UrlBuffer' is not declared.    H:\C4 Clan\C4-Clan\Form2.vb    28    50    C4-Clan
Error    5    Name 'UrlBuffer' is not declared.    H:\C4 Clan\C4-Clan\Form2.vb    28    65    C4-Clan
Error    6    Type character '$' does not match declared data type 'Integer'.    H:\C4 Clan\C4-Clan\Form2.vb    30    41    C4-Clan
Error    7    'Public Property Left() As Integer' has no parameters and its return type cannot be indexed.    H:\C4 Clan\C4-Clan\Form2.vb    30    41    C4-Clan
Error    8    Name 'UrlBuffer' is not declared.    H:\C4 Clan\C4-Clan\Form2.vb    30    47    C4-Clan
Error    9    Name 'DoEvents' is not declared.    H:\C4 Clan\C4-Clan\Form2.vb    32    13    C4-Clan
Error    10    'Caption' is not a member of 'C4_Clan.Form2'.    H:\C4 Clan\C4-Clan\Form2.vb    45    9    C4-Clan
Error    11    Name 'RichTextBox1' is not declared.    H:\C4 Clan\C4-Clan\Form2.vb    56    9    C4-Clan
Warning    12    Function 'CancelDownload' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.    H:\C4 Clan\C4-Clan\Form2.vb    42    5    C4-Clan
Avatar billede martin_moth Mester
25. juni 2005 - 11:45 #15
Hvis du bruger den fremgangsmåde jeg foreslog 16/06-2005 08:20:38 så er dit problem reduceret til blot at downloade en lille textfil... Hvis du da vil gøre sådan
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 11:48 #16
Har lavet lidt om i det.

Nyeste kode

Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub


    Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Integer, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Integer) As Integer
    Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Integer, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Integer, ByVal dwFlags As Integer, ByVal dwContext As Integer) As Integer
    Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Integer, ByVal sBuffer As String, ByVal lNumBytesToRead As Integer, ByVal lNumberOfBytesRead As Integer) As Short
    Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Integer) As Short


    Dim Cancel_Download As Integer

    Function DownloadString(ByVal UrlFile As String) As String
        Dim UrlInternetOpen As Integer
        Dim UrlInternetOpenUrl As Integer
        Dim UrlBuffer As New VB6.FixedLengthString(2048)
        Dim UrlBytes As Integer
        Dim UrlComplete As String

        Cancel_Download = 0

        UrlInternetOpen = InternetOpen("Download String", 1, vbNullString, vbNullString, 0)
        UrlInternetOpenUrl = InternetOpenUrl(UrlInternetOpen, UrlFile, vbNullString, 0, &H80000000, 0)
        Do
            InternetReadFile(UrlInternetOpenUrl, UrlBuffer, Len(UrlBuffer), UrlBytes)
            'UPGRADE_ISSUE: The preceding line couldn't be parsed. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="82EBB1AE-1FCB-4FEF-9E6C-8736A316F8A7"'
            If UrlBytes = 0 Or Cancel_Download = 1 Then Exit Do 'Cancel_Download
            UrlComplete = UrlComplete & Left(UrlBuffer.Value, UrlBytes)
            DownloadBytes(Len(UrlComplete)) 'Function DownloadBytes
            DoEvents()
            'UPGRADE_ISSUE: The preceding line couldn't be parsed. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="82EBB1AE-1FCB-4FEF-9E6C-8736A316F8A7"'
        Loop
        InternetCloseHandle(UrlInternetOpenUrl)
        InternetCloseHandle(UrlInternetOpen)

        DownloadString = UrlComplete
    End Function

    Function CancelDownload() As Object
        Cancel_Download = 1
    End Function

    Function DownloadBytes(ByVal Bytes As Integer) As Object
        Dim Me As Object
        'UPGRADE_WARNING: Couldn't resolve default property of object Me.Caption. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
        Me.caption = "Download: " & Bytes & " Bytes"
    End Function




    Private Sub Command1_Click()
        Call CancelDownload()
    End Sub

    Private Sub Command2_Click()
        Dim RichTextBox1 As Object
        'UPGRADE_WARNING: Couldn't resolve default property of object RichTextBox1.Text. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
        RichTextBox1.Text = DownloadString("http://www.eksperten.dk/spm/487256")
    End Sub

End Class

Nyeste fejl

Error    1    Value of type 'Microsoft.VisualBasic.Compatibility.VB6.FixedLengthString' cannot be converted to 'String'.    H:\C4 Clan\C4-Clan\Form2.vb    28    50    C4-Clan
Error    2    'Public Property Left() As Integer' has no parameters and its return type cannot be indexed.    H:\C4 Clan\C4-Clan\Form2.vb    31    41    C4-Clan
Error    3    Name 'DoEvents' is not declared.    H:\C4 Clan\C4-Clan\Form2.vb    33    13    C4-Clan
Error    4    Keyword is not valid as an identifier.    H:\C4 Clan\C4-Clan\Form2.vb    47    7    C4-Clan
Error    5    'caption' is not a member of 'C4_Clan.Form2'.    H:\C4 Clan\C4-Clan\Form2.vb    49    9    C4-Clan
Warning    6    Function 'CancelDownload' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.    H:\C4 Clan\C4-Clan\Form2.vb    44    5    C4-Clan
Warning    7    Variable 'RichTextBox1' is used before it has been assigned a value. A null reference exception could result at runtime.    H:\C4 Clan\C4-Clan\Form2.vb    62    9    C4-Clan
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 11:50 #17
Hvor dan laver jeg det martin_moth
Avatar billede martin_moth Mester
25. juni 2005 - 11:51 #18
Jeg kan starte med at spørge hvor filen ligger. På en ftp-server? På en server i et lokalnetværk? Hvor?
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 11:53 #19
det er en http server
Avatar billede martin_moth Mester
25. juni 2005 - 11:59 #20
Så kunne du jo passende prøve med et af de 500 eksempler der kommer når du søger. Vælg det simple du kan overskue og forstå, så du kan finde fejl...

http://www.eksperten.dk/spm/Programmering/Visual-Basic/?sort=&order=DESC&status_1=on&status_2=on&status_3=on&spm_creator=&spm_part=&spm_answer=&find=download+http&engine=exp
Avatar billede martin_moth Mester
25. juni 2005 - 12:01 #21
Altså - hent en fil hvor nyeste versionsnummer står i. tjek med aktuelle. Er der en nyere opdatering, så kan brugeren blive spurgt om han vil hente den. Og så er det bare at hente en anden fil hvis der siges ja
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 12:15 #22
Hved ikke lige hvor dan jeg skal lave skidtet. Er hved at kigge lidt på det link
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 13:22 #23
Har fundet denne http://eksperten.dk/spm/217619
Men hved ikke lige vilken en af koderne jeg skal tage.
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 13:27 #24
har prøvet lidt med denne

<html>
<head>
</head>
<body>
version=1.4;
</body>
</html>

Gem den som ver.html

I VB laver du flg script:
HTMLSource = Inet1.OpenURL("http://www.deathkill.tk/ver.html")
pos1 = InStr(1, HTMLSource, "=")
pos2 = InStr(pos1, HTMLSource, ";")
ver = Mid(HTMLSource, pos1 + 1, pos2 - pos1 - 1)
MsgBox ver ' Giver dig versionsnumret på filen på dit site.
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 13:29 #25
men får denne fejl

Error    1    Declaration expected.    H:\C4 Clan\C4-Clan\Form3.vb    6    1    C4-Clan
Error    2    Declaration expected.    H:\C4 Clan\C4-Clan\Form3.vb    7    1    C4-Clan
Error    3    Declaration expected.    H:\C4 Clan\C4-Clan\Form3.vb    8    1    C4-Clan
Error    4    Declaration expected.    H:\C4 Clan\C4-Clan\Form3.vb    9    1    C4-Clan
Error    5    Declaration expected.    H:\C4 Clan\C4-Clan\Form3.vb    10    1    C4-Clan

Det er disse den ikke godkender

HTMLSource
pos1
pos2
ver
MsgBox
Avatar billede martin_moth Mester
25. juni 2005 - 14:01 #26
Kender den ikke msgbox?
Er det Visual Basic 6 du bruger?
Avatar billede martin_moth Mester
25. juni 2005 - 14:02 #27
Eller er det VB Script?
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 14:08 #28
Det er Version 2005 Beta. Men bruger den der konvatere fra version 6 til den nye
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 14:09 #29
der er nemlig en der kan konvatere gamle koder til nye koder alser så de passer til version 2005
Avatar billede martin_moth Mester
25. juni 2005 - 14:22 #30
2005?
Mener du VB.NET
Avatar billede martin_moth Mester
25. juni 2005 - 14:23 #31
Den nyeste (og sidste) version af Visual Basic hedder version 6

Alt efterfølgende er VB.NET - mig bekendt!
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 14:24 #32
Visual Basic 2005 Express Edition Beta 2
Avatar billede martin_moth Mester
25. juni 2005 - 14:26 #33
Er det .NET ?
Avatar billede martin_moth Mester
25. juni 2005 - 14:30 #34
Ved ikke hvad du har gang i med "Express" - kender det ikke, men når det ikke kender til f.eks. MsgBox er det nok en del anderledes end VB6.

Det ville være fedt om du gad at forklare lidt mere om dit problem til at starte med  - f.eks. at du ikke bruger den software alle vil forvente at du gør.

Alle indlæg fra. f.eks. mig har været spild af min (og din) tid, da jeg ikke ved en hat om "Express"

Held og lykke
Over & Out
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 14:35 #35
Avatar billede joern Nybegynder
25. juni 2005 - 15:01 #36
Hej Martin.

Der er altid en tid til at blive klogere.  Det er ikke godt at vide, hvad det er MS forærer væk i Beta, men det er øjensynlig en amputeret udgave i forhold til den ægte vare.  Megen tid kunne - som du nævner - være sparet hvis Jesper fra begyndelsen havde omtalt præcis hvilket produkt og version, han anvender.
Men Microsoft har efterhånden meget med VB.

M.v.h. Jørn
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 15:03 #37
Den kommer også med den fejl i SharpDevelo. Kan det være fordi jeg ikke har sat nogen knapper eller noget ind ^??
Avatar billede joern Nybegynder
25. juni 2005 - 17:49 #38
Hej Jesper.

Jeg tror, at du ikke skal regne med, at du får løst problemet i denne tråd.  Når du har været registreret i en måned, kan du downloade en fil med hjælp til din Express-Beta.  Men de VB-eksempler du evt. kan finde, fungerer nok ikke i den.  Ingen af de som har en rigtig VB, vil nok være interesseret i at downloade Express, for at se hvad det er for noget.
Du kan foreslå 'Eksperten', at der oprettes en kategori til denne særlige udgave af noget VB-lignende.

M.v.h. Jørn
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 22:53 #39
Okay. Skal jeg så slette den expres version for at få den rigtige til at funke?
Avatar billede jesper2003 Nybegynder
25. juni 2005 - 23:33 #40
Fandt selv ud af det. Tror jeg ligger Visual Basic lidt på hylden indtil finale versionnen kommer
Avatar billede joern Nybegynder
25. juni 2005 - 23:44 #41
Hej Jesper.

Det ved jeg ikke.  Jeg kender ikke produktet.

http://lab.msdn.microsoft.com/express/faq/default.aspx

What types of applications can I build with Visual Basic 2005 Express Edition beta?

Visual Basic 2005 Express Edition can be used to build Windows applications, console (sometimes referred to as "command line applications"), and reusable components. If you want to create interactive Web sites you should use Visual Web Developer 2005 Express Edition which fully supports the Visual Basic language.

Der er også et forum - på engelsk:
http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=24

Når MS forlader Beta-versioneringen, er det meningen af hvert modul skal koste $49, står der.  Når en .net-version i DK koster 5000 - 10.000 kr. er det klart at disse Express-udgaver må være ret meget mindre.  Men syntaksen er tilsyneladende ret forskellig fra traditionel Visual basic, og det er jo det denne kategori drejer sig om.  Der er også en .net-kategori på eksperten.

Du skulle ikke behøve at afinstallere Express, den kan være på maskinen sammen med VB6 står der.  Har du en rigtig VB, så lær at bruge den,  indlæringskurven for .net forekommer mig ret stejl.  Jeg har kun orienteret mig om den.

M.v.h.  Jørn

M.v.h. Jørn
Avatar billede jesper2003 Nybegynder
02. juli 2005 - 16:29 #42
tror ikke det er programmet der er noget galt med får Visual Basic 6.0 kommer også med den fejl
Avatar billede jesper2003 Nybegynder
02. juli 2005 - 18:55 #43
Den kan godt finde ud af det vis man skriver MsgBox("Der er en opdatering klar til download")
Avatar billede jesper2003 Nybegynder
02. juli 2005 - 19:25 #44
Så skal man vel også bare sætte et eller andet ind i den anden del af koden eller va?
Avatar billede jesper2003 Nybegynder
02. juli 2005 - 22:15 #45
Bare glem det lavede mit eget opdate system. Fandt selv ud af det da jeg legede lidt med det. Det virker sådan her.

1: Når man klikker på opdate knappen kommer der en ny form kaldet opdate.vb i den er der en lille webbrowser der går ind på en side der hedder opdate.asp?id=1 den fortæller om man har den nyeste version.

2: Vis der er en opdatering så kan man klikke på en knap der hedder opdate så henter den selv opdateringen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester