Moskus Skrevet 13. mai 2005 Del Skrevet 13. mai 2005 (endret) Vår alles kjære Aadnk har laget et genialt, lite program som gjør at man får mye mer leselig kode i kjente og kjære farger når man poster kode. Jeg foreslår at vi alltid bruker dette programmet til posting av kode, så blir det lettere å lese og forstå (synes iallfall jeg). Hva er enklest? Dim FormG As Graphics = Me.CreateGraphics 'Get a Graphics Object from the form Dim i As New Bitmap(pnlAbs.Width - 4, pnlAbs.Height - 4, FormG) 'Create a bitmap from that graphics Dim memG As Graphics = Graphics.FromImage(i) 'Create a Graphics object in memory from that bitmap Dim HDC1 As IntPtr = FormG.GetHdc 'get the IntPtr's of the graphics Dim HDC2 As IntPtr = memG.GetHdc 'get the IntPtr's of the graphics BitBlt(HDC2, -pnlAbs.Location.X - 2, -pnlAbs.Location.Y - 2, pnlAbs.Width + pnlAbs.Location.X - 2, pnlAbs.Height + pnlAbs.Location.Y - 2, HDC1, 0, 0, 13369376) 'get the picture FormG.ReleaseHdc(HDC1) 'Clean Up memG.ReleaseHdc(HDC2) 'Clean Up FormG.Dispose() 'Clean Up memG.Dispose() 'Clean Up Eller Dim FormG As Graphics = Me.CreateGraphics 'Get a Graphics Object from the form Dim i As New Bitmap(pnlAbs.Width - 4, pnlAbs.Height - 4, FormG) 'Create a bitmap from that graphics Dim memG As Graphics = Graphics.FromImage(i) 'Create a Graphics object in memory from that bitmap Dim HDC1 As IntPtr = FormG.GetHdc 'get the IntPtr's of the graphics Dim HDC2 As IntPtr = memG.GetHdc 'get the IntPtr's of the graphics BitBlt(HDC2, -pnlAbs.Location.X - 2, -pnlAbs.Location.Y - 2, pnlAbs.Width + pnlAbs.Location.X - 2, pnlAbs.Height + pnlAbs.Location.Y - 2, HDC1, 0, 0, 13369376) 'get the picture FormG.ReleaseHdc(HDC1) 'Clean Up memG.ReleaseHdc(HDC2) 'Clean Up FormG.Dispose() 'Clean Up memG.Dispose() 'Clean Up Programmet finner du i posten nedenfor. Edit: Huffda, en skrivefeil... Endret 26. mai 2005 av moskus Lenke til kommentar
aadnk Skrevet 13. mai 2005 Del Skrevet 13. mai 2005 Vel, ettersom jeg lagde dette programmet, burde jeg i det minste benytte det fremover. Det blir ved sannhet mer oversiktelig å lese koden. Dersom dere ønsker å se kildekoden, samt få en oppdatert versjon som støtter XP-styles, kan applikasjonen lastes ned herifra: http://home.lyse.net/aadnk/Filer/VBtoHTML.zip Lenke til kommentar
GeirGrusom Skrevet 13. mai 2005 Del Skrevet 13. mai 2005 (endret) For å lage programmer som tegner, pleier jeg å gjøre slik: Public Interface IDrawObject Property Location As Point Property Size As Point Sub Draw(g As System.Drawing.Graphics) End Interface ' Neste linje ligger i formen Public Sub DrawItem(item As IDrawObject, g As System.Drawing.Graphics) Dim mat As System.drawing.Drawing2D.Matrix = g.Transorm.Clone() g.TranslateTransform(item.Location.X, item.Location.Y) item.Draw(g); g.Transform = mat End Sub Private Sub Form_Paint(Sender As Object, e As PaintEventArgs) For Each IDrawObject item In m_object_list item.Draw(e.Graphics) Next End Sub Dette er selvsagt en generell regel, og ikke kode som ville fungert, uten at IDrawObject blir implementert. Men hvis du legger tegne prosedyren i Paint event(og bruker e.Graphics framfor CreateGraphics()), vil ikke skjermen flimre, dette er det samme som GetPaintDC i C/C++ Endret 13. mai 2005 av GeirGrusom Lenke til kommentar
aadnk Skrevet 13. mai 2005 Del Skrevet 13. mai 2005 Jeg ser på kodeeksempelet at programmet ikke fargelegger det siste nøkkelordet i en linje. Etter å ha studert applikasjonen, har jeg funnet utav problemet - det skulle ligge oppdatert ute på hjemmesiden min (link ovenfor). Skjønt jeg ser òg at enkelte nøkkelord knyttet til VB .NET ikke fargelegges. Noen som vet hvilke nøkkelord som bør legges til for at koden skal støtte denne versjonen av Visual Basic (nåværende vises i Keywords.vbs)? Lenke til kommentar
GeirGrusom Skrevet 17. mai 2005 Del Skrevet 17. mai 2005 (endret) Du har glemt AndAlso, OrElse og Property ' New key-words in VB.NET Convert.AddKeyWord "Char" Convert.AddKeyWord "Int16" Convert.AddKeyWord "Int32" Convert.AddKeyWord "Int64" Convert.AddKeyWord "UInt16" Convert.AddKeyWord "UInt32" Convert.AddKeyWord "UInt64" Convert.AddKeyWord "DateTime" Convert.AddKeyWord "Char" Convert.AddKeyWord "Implements" Convert.AddKeyWord "Inherits" Convert.AddKeyWord "Protected" Convert.AddKeyWord "Overloads" Convert.AddKeyWord "Default" Convert.AddKeyWord "MyBase" Convert.AddKeyWord "Interface" Convert.AddKeyWord "Implements" Convert.AddKeyWord "Class" Convert.AddKeyWord "MustInherit", "NotInheritable" Convert.AddKeyWord "Overrides", "MustOverride", "NotOverridable", "Overridable" Convert.AddKeyWord "Shadows" Convert.AddKeyWord "Delegate" Convert.AddKeyWord "Handles" Convert.AddKeyWord "Try", "Catch", "Finally", "Throw" Convert.AddKeyWord "Shared" Convert.AddKeyWord "TypeOf" Convert.AddKeyWord "AddHandler" Convert.AddKeyWord "Auto" Convert.AddKeyWord "GetType" Convert.AddKeyWord "Unicode" Convert.AddKeyWord "ReadOnly" Convert.AddKeyWord "WriteOnly" Convert.AddKeyWord "MyClass" Convert.AddKeyWord "DirectCast" Convert.AddKeyWord "Imports" Convert.AddKeyWord "Decimal" tror det er de fleste... Endret 17. mai 2005 av GeirGrusom Lenke til kommentar
aadnk Skrevet 17. mai 2005 Del Skrevet 17. mai 2005 De er nå implementert. Jeg har òg omskrevet koden en smule, slik at den produserer mer likeledes utdata - den forrige versjonen hadde enkelte problemer med overflødige linjeskift. Dette er fikset. Applikasjonen kan som alltid lastes ned her. Lenke til kommentar
Jonas Skrevet 17. mai 2005 Del Skrevet 17. mai 2005 Jeg har et tips til bedre funksjonalitet: Hva om man legger til et høyreklikk-alternativ i IE (Vist her) og får programmet til å lime inn VB-kode med farger? Det hadde jo vært morsomt! Lenke til kommentar
Zethyr Skrevet 17. mai 2005 Del Skrevet 17. mai 2005 Jeg har et tips til forbedring: Få til en måte å beholde en god formatering på i forumet (mission impossible?) Lenke til kommentar
aadnk Skrevet 17. mai 2005 Del Skrevet 17. mai 2005 Vel, jeg kan jo godt forsøke å få laget utvidelser til Internet Explorer (usj) eller FireFox, men jeg vet ikke helt om det gagner med automatisk formatering. De aller fleste som kommer til å benytte dette programmet, er sannsynligvis kyndige gjengangere på VB-formet, og vet således om god kodeformatering. Kommer tilbake med oppdateringer dersom jeg greier å lage meg en utvidelse. Lenke til kommentar
aadnk Skrevet 17. mai 2005 Del Skrevet 17. mai 2005 Etter meget slit og strev, greide jeg saktens å lage en utvidelse til Internet Explorer. Først og fremt måtte jeg omskrive prosjektet og dele det opp i to - selve EXE-filen og en DLL-fil som kan nås av andre applikasjoner. Dernest måtte jeg forsøke å få implementert et element i høyreklikmenyen til tekstbokser, hvorved utklippstavlens innhold skulle bli konvertert og deretter lagt inn i tekstboksen. Likegyldig om du skal benytte deg av dette eller ei, må du dessverre kjøre filen Install.bat for at applikasjonen i det hele tatt skal kunne eksekveres. Dersom du òg ønsker å legge inn utvidelsen til Internet Explorer, må du kjøre Install.vbs innunder Extensions - Internet Explorer. Lenke til kommentar
Moskus Skrevet 17. mai 2005 Forfatter Del Skrevet 17. mai 2005 Jøss! Aadnks support for programmene han lager bør være et forbilde for oss alle! Men jeg vil bare poengtere at du har utviklet funksjonalitet til IE og har en "Stop IE"-avatar. Og hva med oss Firefox-brukere? Lenke til kommentar
aadnk Skrevet 17. mai 2005 Del Skrevet 17. mai 2005 Jepp, det er jo egentlig nokså ironisk. :!: Problemet er at FireFox har gjort det, etter min mening, litt vanskeligere å legge inn utvidelser, hvilket har ført til at jeg ennå ikke har laget ferdig FireFox-versjonen. Blant annet må jeg òg oversette VBScript til JavaScript, samt omskrive enkelte linjer som kun fungerer for IE. Men, jeg skal nok få det unnagjort. Lenke til kommentar
Jonas Skrevet 18. mai 2005 Del Skrevet 18. mai 2005 (endret) Dette så jo svært lovende ut! *Teste* Edit: Det fungerer jo perfekt!! Kjempe bra jobba, aadnk! Dim Weapon As Long Dim Armor As Long Dim Strength As Long Dim Vitality As Long Dim Magical As Long Edit: Ser ut som det er et par bugs der. Koder på en linje fungerer dårlig, og noen ganger må jeg legge koden nederst i tekstboksen for at det skal fungere. Edit: I tillegg kommer noen ganger gamle koder frem. Endret 18. mai 2005 av Jonas Lenke til kommentar
aadnk Skrevet 18. mai 2005 Del Skrevet 18. mai 2005 Jeg har nå fikset begge problemer, samt en bug som inntraff ved konvertering av lenge kodestykker. Dere finner den oppdaterte versjonen som alltid på hjemmesiden min. Lenke til kommentar
GeirGrusom Skrevet 27. mai 2005 Del Skrevet 27. mai 2005 Det var en kar som lurte på om det var lett å lage OpenGL i Visual Basic.NET, på grunnlag av dette laget jeg en liten fil for VB.NET som implementerer OpenGL relativt enkelt, så jeg tenkte kankje noen andre ville ha glede av det, dermed legger jeg med OpenGL Demo (som er et Visual Basic.NET program) Den bruker OpenGLContext, som bare trengs å bindes til en kontrol, HDC eller lignende Det ligger med en Texture klasse også, men hvorfor den ikke fungerer har jeg faktisk ikke peiling på, ingen feilmelding, det bare skjer ingenting... kankje noen andre klarer å finne ut av det? OpenGLTest.zip Lenke til kommentar
GeirGrusom Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 New Point(-(hscroll Mod (minor_grid)), -(vscroll Mod minor_grid)) Denne funksjonen (veldig enkel da ) lager melomrom for smoothscrolling i f.eks. et platformspill, eller grid i et tegneprogram. Lenke til kommentar
Spartakus Skrevet 2. oktober 2007 Del Skrevet 2. oktober 2007 Denne burde utvides med xml templates for VB, C#, C++ osv Lenke til kommentar
HDSoftware Skrevet 3. oktober 2007 Del Skrevet 3. oktober 2007 Det ligger med en Texture klasse også, men hvorfor den ikke fungerer har jeg faktisk ikke peiling på, ingen feilmelding, det bare skjer ingenting... kankje noen andre klarer å finne ut av det? Vel, prøvde å kjøre denne i VS2005 og den feiler på def_tex.BindTexture() Får beskjed om at objektet ikke er satt til en objeksforekomst. Ligger nok noe der... Lenke til kommentar
GeirGrusom Skrevet 3. oktober 2007 Del Skrevet 3. oktober 2007 Hehe jeg har funnet ut av det, grunnen er at jeg var noob når jeg skrev den der hehe. 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å