Ustedalen Skrevet 20. september 2007 Del Skrevet 20. september 2007 Heisann! Jeg drev såvidt med Visual Basic på skolen i USA i fjor, og jeg har det nå igjen på skolen her i Norge. Jeg kan ikke mye, men jeg kan det basiske innenfor å programmere i dette. Så nå så prøvde jeg meg på et helt enkelt program, hvor jeg skrev en URL i en textbox og for så å hente den. Men etter utallige forsøk har jeg ikke klart dette, så jeg lurer på om noen kan poste en kode og en forklaring (her dette er det viktigste, siden jeg vil lære dette) på hvordan man kan gjøre dette? Lenke til kommentar
Manfred Skrevet 20. september 2007 Del Skrevet 20. september 2007 (endret) http://www.c-sharpcorner.com/UploadFile/ma...serInCSMDB.aspx Edit: Ikke for å gjenta meg selv, men det der var FØRSTE treffet i et google-søk. Endret 20. september 2007 av Manfred Lenke til kommentar
Ustedalen Skrevet 20. september 2007 Forfatter Del Skrevet 20. september 2007 Har sett den selv, men jeg har VB 6.0 istedenfor NET (fikk den fra skolen siden det er den vi skal programmere i). Lenke til kommentar
aadnk Skrevet 20. september 2007 Del Skrevet 20. september 2007 (endret) UrlDownloadToFile blir nok det enkleste: ' Dersom du vil benytte samme metodikk, men også ønsker å laste ned flere' filer samtidig (uten å benytte multi-threading), bør du se på følgende prosjekt: ' http://www.planetsourcecode.com/vb/scripts...14&lngWId=1 ' Denne API-deklareringen må plasseres OVER prosedyrene (Function- og Sub-blokkene) Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _ (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long ' Mulige returverdier funksjonen ovenfor kan ha Const S_OK = &H0 ' Filen med lastet ned Const E_OUTOFMEMORY = &H8007000E ' Buffer-lengden er ikke lang nok (eller ikke nok ledig minne) Const INET_E_DOWNLOAD_FAILURE = &H800C0008 ' Som oftest skyldes dette ugyldig URL ' Laster ned en fil via Internet Explorer-biblioteket. Gir ikke tilbake kontroll ' før operasjonen er fullført (synchronous call). Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean ' Her "enkapsulerer" vi kallet ovenfor, slik at en kan unngå mange av parameterene Select Case URLDownloadToFile(0, URL, LocalFilename, 0, 0) Case S_OK DownloadFile = True Case E_OUTOFMEMORY Err.Raise 7 End Select End Function Private Sub cmdDownload_Click() Dim fPath As String ' Du kan også bruke en "lagre fil"-dialogboks: ' http://en.wikibooks.org/wiki/Programming:V...Windows_Dialogs fPath = InputBox("Skriv inn ønsket filsti") ' Kall funksjonen som følger DownloadFile txtURL.Text, fPath End Sub Endret 20. september 2007 av aadnk Lenke til kommentar
GeirGrusom Skrevet 20. september 2007 Del Skrevet 20. september 2007 Skjønner ikke hvorfor skoler fortsatt bruker VB6 når VB.NET er helt gratis... Lenke til kommentar
Ustedalen Skrevet 20. september 2007 Forfatter Del Skrevet 20. september 2007 Jeg føler meg ærlig talt litt dum! Hva er det ByVal gjør for noe, og hvorfor virker det som flere variabler blir deklarert og ikke brukt? Lenke til kommentar
GeirGrusom Skrevet 20. september 2007 Del Skrevet 20. september 2007 ByVal betyr at verdien til variabelen blir lagt rett på stack når funksjonen kalles, i motsetning til ByRef som legger en referanse til verdien i stack når funksjonen blir kalt. Lenke til kommentar
Manfred Skrevet 20. september 2007 Del Skrevet 20. september 2007 Skjønner ikke hvorfor skoler fortsatt bruker VB6 når VB.NET er helt gratis... 9537398[/snapback] Jeg satt og tenkte det samme, men sa ikke noe, for jeg får bare kjeft av mod. Lenke til kommentar
HDSoftware Skrevet 21. september 2007 Del Skrevet 21. september 2007 Tja - kan det være fordi VB6 er et rent programmering språg som er 100% uavhengig av 3djepart, som tross alt .NET Framework er. Jada, du kan si at alle maskiner i dag har dette, men det er nok dessverre slik at mange produksjonsmaskiner fortsatt kjører eldre OS som ikek har .NET støtte. Derfor er nok skolens valg gjort på dette grunnlag. En ferdig utdannet student skal kunne lage et program som kan kjøre på en hvilken som helst maskin uavhengig av om den har .NET støtte eller ikke. I tillegg skal studenten ha en forståelse for programmeringen og ikke ha detalj kunnskap om .NET. Skjønner skolen veldig godt. Lenke til kommentar
aadnk Skrevet 21. september 2007 Del Skrevet 21. september 2007 (endret) PÅ hvilken måte er VB6 et "rent" programmeringsspråk? Fordi kompilatoren kan generere ekte maskinkode (i tillegg til p-code)? Dette er kun en teknisk detalj som har særs lite å si for brukeren. Dessuten, ettersom .NET utsetter konverteringen til siste øyeblikk, har man da også den fordel at man kan inkorporere støtte for flere arkitekturer, uten å måtte rekompilere programmet. Sikter du derimot til nødvendige biblioteker/rammeverk, krever faktisk begge språk sådant. Hva Microsoft Windows angår, er nok VB-runtime en tanke mer alminnelig, men ettersom Microsoft har besluttet å trappe ned støtten for VB6, er dette noe som sannsynligvis vil endre seg i .NETs favør i den nærmeste fremtid. I tillegg finner man, ulikt VB6, mange implementasjoner av .NET-rammeverket (Mono) for andre operativsystemer, hvilket gjør .NET langt mer uavhengig det underliggende systemet. .NET-rammeverket innlemmer også i en større grad operativsystemets funksjonaliteter. Ulikt VB6, behøver man altså ikke benytte API-funksjoner, og dermed undergrave hele poenget med et standardisert rammeverk. Endelig er VB.NET på alle måter overlegent VB6: Lambdauttrykk, ekte OOP (polymorphism), Exception-handling, ect., gjør det langt mer attraktivt for studentens videre opplæring. Det aller vesentligste er imidlertid at det er mye større etterspørsel for folk med kunnskap i .NET-rammeverket. Skal eleven forberedes for en karrière i informasjonssektoren, vil nok .NET være det optimale valget. Endret 23. september 2007 av aadnk Lenke til kommentar
HDSoftware Skrevet 21. september 2007 Del Skrevet 21. september 2007 Jada, jeg tviler ikke et sekund på alt dette, alikevel er VB6 et rent programmeringsspråg som ikke bygger på noe 3djepart. At VB6 krever et runtime er ikke noe problem da dette er bare noe man kan legge ved og som man ikek trenger installere. .NET derimot er noe man faktisk MÅ installere for å kjøre .NET programvare. At .NET rammeverket er en standard er i så måte uvesentlig. Jeg bare prøvde å argumentere for hvordan skoleverket muligens tenkte. Og at VB6 er et frittstående produkt som ikke krever noe som helst er det ingen tvil om. En grei sammenligning ville være at jeg lager et funksjonsbibliotek i VB6 og kompillerer DLL'er av det og at skoleverket tar dette inn som pensum. Da er det jo ikke programmeringen som er i fokus, men mitt bibliotek. Slik er det også med .NET. Er det programmeringen eller er det bruken av et bibliotek som er pensumet? Det er dette som var poenget mitt med innlegget. Ikke om .NET burde anses som en standard eller ikke. At VB.NET er ekte OOP er det heller ingen tvil om, men skulle skoleverket valgt et frittstående språg som hadde dette hadde nok valget blitt C++, Clarion e.l. Tror VB6 er et greit valg. Lenke til kommentar
Manfred Skrevet 21. september 2007 Del Skrevet 21. september 2007 For det første kan ikke .net regnes som 3djepart, da det er samme produsent, på samme måte som vbruntime. For det andre synes jeg det er ganske idiotisk av en skole å skulle utdanne noen i "gårsdagens teknologi". Det er ikke helt rette måten å utdanne noen til arbeidslivet. Skulle man tatt et "uavhengig" OO-språk, hadde det da vært mer naturlig med C++ eller lignende. Men Vb6? Nei... Lenke til kommentar
HDSoftware Skrevet 23. september 2007 Del Skrevet 23. september 2007 Vel, det kommer an på hva du legger i dette. Skal skolen utdanne deg i en spesiell teknologi eller skal skolen gi deg generell programmeringserfaring? Hvis det siste så er det knekkende likegyldig hva du bruker. Jeg ser ikke problemet i det hele tatt. Nå sier jo ikke trådstarter noe som helst om hva slags skole det dreier seg om, men som en introduksjon til programmering er VB6 absolutt et greit valg. Det er ikke opp til skoleverket å bestemme hvilket verktøy studenden skal benytte i sin fremtidige jobb. Derimot skal skolen sørge for at studenten vet hva løkker, IF tester, CASE strukturer etc er for noe. Dermed er .NET helt uvesentlig. At .NET ikke er tredjepart?!? tja, dette er vel strengt tatt et definisjons spørsmål. Er 3djepart nødvendigvis noe som kommer fra et annet selskap? Kan ikek selskapene som lager dette engang ha samme eiere? Hvorfor dukket ikke supermann opp når han skulle? Gå ut og se hva hunden fra baskerwille.. etc. etc. Syntes denne diskusjonen blei tøvete og i det minste Off Topic... Lenke til kommentar
Manfred Skrevet 23. september 2007 Del Skrevet 23. september 2007 Hvis argumentet her skal være å IKKE utdanne deg i en spesiell teknologi er i alle fall vb generelt et dårlig valg, da dette ikke er likt NOE annet språk. Lenke til kommentar
Ustedalen Skrevet 23. september 2007 Forfatter Del Skrevet 23. september 2007 Grunnen til at skolen bruker VB er vel fordi det er enklere enn mange andre programmeringsspråk. Har programmert selv litt i Java, noe som er utrolig mye mer komplisert enn VB! Lenke til kommentar
GeirGrusom Skrevet 23. september 2007 Del Skrevet 23. september 2007 I mange aspekter er man ganske begrenset i VB6, ofte må man ty til platform funksjoner (API Viewer) for å gjøre det man vil. Dessuten lærer man ikke objektorientert programmering av VB6, og heller ikke skikkelig datatyper (siden Integer er 16-bit, noe VB6 er alene om. VB6 har heller ikke støtte for 64-bit heltall) Mange objekter har også en default egenskap, noe som fører til den stygge uvanen TextBox = "Hello World!" istedet for det mer korrekte TextBox.Text = "Hello World!" Option explicit er heller ikke på som default, som fører til at man ikke trenger å deklarere variabler før man bruker dem, som igjen fører deg rett til debugging-helvete. Pluss at VB6 ikke lenger er støttet av Microsoft, og at VB.NET er GRATIS å laste ned og bruke. I VB.NET er de fleste av disse tingene fikset (men dessverre ikke alle) Lenke til kommentar
834HF42F242 Skrevet 24. september 2007 Del Skrevet 24. september 2007 Hvis argumentet her skal være å IKKE utdanne deg i en spesiell teknologi er i alle fall vb generelt et dårlig valg, da dette ikke er likt NOE annet språk. 9554310[/snapback] Kan du VB? Lenke til kommentar
GeirGrusom Skrevet 24. september 2007 Del Skrevet 24. september 2007 Nei, men det kan jeg, og jeg støtter Manfred. VB kan ligne på Fortran, men fortran er vel ikke lenger i bruk. Lenke til kommentar
HDSoftware Skrevet 24. september 2007 Del Skrevet 24. september 2007 Men ingen av dere tolket svaret mitt riktig. Jeg sier ikke at VB er hverken rett eller galt. Jeg sier at jeg kan se hvorfor skolen bruker det og argumentene er gode nok til å bruke VB som et introduksjonskurs til programmering. Selv hadde jeg Turbo Pascal og K-MAN som programmering språg på skolen. Helt ubrukelig så klart, men lærte jeg programmering? Absolutt. Skjønte jeg hva variabler, datastrukturer, lister og IO blei brukt til? Så klart. Bruker jeg Pascal og K-Man i dag? Neppe. I værstefall bruker jeg noen D-Base filer her og der. Poenget mitt er fortsatt at det er programmeringen som er i fokus og ikke verktøyet. De fleste som har lært seg et språg kan som oftest umiddelbart lese et hvilket som helst annet program. Etter litt studering så kan man også skrive i et hvilket som helst språg. Vi snakker jo bare om dialekter. Hvis jeg skulle lært noen programmering fra bunnen av ville jeg ikke bruke noen av dem faktisk. Jeg ville brukt Clarion. Ikke bare fordi det er dette jeg har brukt lengst, men språget har alt man trenger for å komme i mål plus at det er enkelt o.s.v. Faktisk mye enklere en VB noen gang har vært, og da regner jeg med ABasic, GWBasic og QuickBasic. Ok, så er Clarion objekt orientert da, men dette er noe man ikke nødvendigvis trenger å bruke. Manfred: Er ikke VB likt noe annet språg? Du mener vel at VB ikek er likt C baserte språg og det har du rett i. Ellers er Basic rimelig likt alt annet. Hva slags struktur som blir benyttet om 10 år er det ingen som vet, men at det vil endre seg er helt sikkert. Jeg har liten tro på at C strukturerte språg har noen lang levetid. Eneste grunnen til at disse har overlevd er måten en CPU er oppbygget på og at de av den samme grunnen gir programmereren enklere tillgang til maskinvare. Jeg tror dagens teknologi er steinalder teknologi om ikke så lenge og at vi får se mye mere inteligente verktøy i nær fremtid. Det å lære studenter å tenke C er derfor like dumt/smart som å lære bort at en variabel MÅ være deklarert først. At man i dag har debug problemer av denne grunnen betyr ikke bildet ser slikt ut om ti år. Og hvorfor dukket ikke supermann opp når han skulle? Det svarte du ikke på! Lenke til kommentar
GeirGrusom Skrevet 24. september 2007 Del Skrevet 24. september 2007 (endret) Grunnen til at C språk overlever (og tar over) er at de er mye mer basert på logikk en at de skal være enkle i bruk. Dette er i motsetning til VB, Pascal, Python etc. som er laget for at syntaksen skal være enkel å forstå, og ikke mest med tanke på effektivitet. hva mener jeg med det? jo, i C er det ingen forskjell på assignment og sammenligning for eksempel, du kan ha mange assignment på en linje, fordi assignment er en funksjon som gir tilbake verdien som blir gitt til en variabel. Dette er ikke mulig i de andre språkene (som jeg vet om ihvertfall) f.eks. I ANSI C: void FileOpen() { FILE *fp; if((fp = fopen("heipådeg.dat", "rb")) == NULL) printf("File open failed"); else fclose(fp); } Jeg brukte nå C rett og slett fordi det er enklest. VB6: On Error Goto ErrorHandler Dim fp As Integer fp = FreeFile() Open "heipådeg.dat" For Binary As #fp Close #fp Exit Sub ErrorHandler: MsgBox "File open failed", vbOkOnly Legg merke til den idiotiske måten VB6 behandler feilmeldinger på, som minner om hvordan det gjøres i Batch Script. Les også igjennom, så er C måten å gjøre det på både enklere, og mer logisk. I C er det 6 keywords og funksjoner som brukes I VB6, som gjør akkurat det samme, er det 12. Hvilken er best å lære bort på skolen? selv mener jeg C er bedre å lære bort, fordi man får en bedre forståelse av hvordan datamaskinen jobber, mens VB6 prøver å skjule dette for brukeren. Selvom man ikke lærer mye programmering, så sitter man i det minste igjen med litt kunnskap om hvordan alt fungerer. Endret 24. september 2007 av GeirGrusom Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå