9E2 Skrevet 8. september 2008 Del Skrevet 8. september 2008 (endret) Jeg har ganske enkelt et problem med tegnet chr(0). Dersom jeg prøver å sette det på utklippstavla, bryter den resten av strengen. Noen som har noen råd? Her er koden: Private Sub cmdCopy_Click() Dim tmpStr As String, tmpOut As String, tmpUni As Variant tmpStr = txtOutput.Text 'txtOutput.Text begynner alltid med 03 00 03 00 00 00 om det er til noen hjelp tmpStr = Replace(tmpStr, " ", "") 'Fjerner alle mellomrom Do Until tmpStr = "" tmpOut = tmpOut & Chr(CDec("&H" & Left(tmpStr, 2))) 'Henter ut de første to tallene og konverterer dem til HEX og legger dem til utdatastrengen tmpStr = Right(tmpStr, Len(tmpStr) - 2) 'Fjerner de samme to tegnene fra den midlertidige variabelen Loop Clipboard.Clear 'Tømmer utklippstavla Clipboard.SetText tmpOut 'Setter teksten på utklippstavla End Sub Strengen som settesskal bli noe sånt som «» dersom den limes inn i f.eks. Notepad. Dersom det limes inn i en HEX-editor skal det være noen chr(0) i mellom -ene. Problemet er at kun den første -en dukker opp. Resten kuttes bort fordi jeg bruker chr(0) i strengen. Endret 3. januar 2009 av 9E2 Lenke til kommentar
j000rn Skrevet 8. september 2008 Del Skrevet 8. september 2008 Hvorfor skal du bruke CHR(0) i teksten da? CHR(0) blir ofte brukt for å fortelle at man er kommet til slutten på string'n . Lenke til kommentar
Manfred Skrevet 8. september 2008 Del Skrevet 8. september 2008 (endret) ofte? jeg trodde stringer alltid ble terminert av chr(0) jeg? Endret 8. september 2008 av Manfred Lenke til kommentar
9E2 Skrevet 8. september 2008 Forfatter Del Skrevet 8. september 2008 (endret) Chr(0) blir visst ofte/nesten alltid brukt til å terminere en streng. Det er det som er problemet. Jeg skal kopiere streng i HEX-format, men annenhvert tegn er chr(0). Slik ser strengens start ut: chr(3) & chr(0) & chr(3) & chr(0) & chr(0) & chr(0). Hva som kommer etter varierer etter hva brukeren selv ønsker. Dersom jeg skriver dette inn i VC++ sin Binær-/HEX-editor og kopierer det til Notepad, dukker det opp riktig (bortsett fra at chr(0)-ene har blitt borte). Dersom jeg limer dette inn i en annen HEX-editor, får den med seg chr(0)-ene. Dersom jeg bruker Clipboard.GetText, får den med seg Chr(0)-ene. Det virker som om Clipboard.SetText terminerer ved chr(0), mens Clipboard.GetText ikke terminerer ved chr(0). Programmet er ment som et «mellomledd» til hex-editorer og trenger derfor støtte for å kopiere chr(0)... edit: Skrev «null» i stedet for «chr(0)» ved en feiltakelse Endret 8. september 2008 av 9E2 Lenke til kommentar
Manfred Skrevet 9. september 2008 Del Skrevet 9. september 2008 Du får kjøre en festelig replace frem og tilbake da? Lenke til kommentar
GeirGrusom Skrevet 9. september 2008 Del Skrevet 9. september 2008 Alle strings termineres med Chr(0) også VB strings, men dette er kun for å være kompatibelt med ANSI C programmer (som interne windows funksjoner) fordi .NET strings sin størrelse er satt med en forløpende integer (tror det er 16-bit, men er ikke helt sikker) Svaret er å enten slette nullene, eller lagre verdien som et binært objekt. Lenke til kommentar
9E2 Skrevet 9. september 2008 Forfatter Del Skrevet 9. september 2008 Jeg prøvde meg med API-funksjonene for å kopiere til utklippstavla. Det virket ikke det heller. Jeg får gjøre kopieringa på en annen måte, men takk for alle svar! Lenke til kommentar
GeirGrusom Skrevet 9. september 2008 Del Skrevet 9. september 2008 Clipboard.SetData, hvor vanskelig er den å bruke? :S Ikke vanskelig i det hele tatt! Lenke til kommentar
9E2 Skrevet 10. september 2008 Forfatter Del Skrevet 10. september 2008 Er ikke Clipboard.SetData for bilder? Lenke til kommentar
GeirGrusom Skrevet 10. september 2008 Del Skrevet 10. september 2008 Det er for akkurat det du kan tenke deg å bruke det til. Lenke til kommentar
9E2 Skrevet 10. september 2008 Forfatter Del Skrevet 10. september 2008 Dersom jeg prøver «Clipboard.SetData Strengnavn», får jeg kun «Runtime error: Type dismatch». Den vil absolutt ha inndata av typen IPictureDisp. Lenke til kommentar
GeirGrusom Skrevet 10. september 2008 Del Skrevet 10. september 2008 (endret) VB6... Du får ha det fint i 1998, jeg går et annet sted. Endret 10. september 2008 av GeirGrusom Lenke til kommentar
9E2 Skrevet 11. september 2008 Forfatter Del Skrevet 11. september 2008 (endret) Du har rett, det er vel på tide at jeg flytter resten av programmene mine til VB.NET 2008... Redigert (etter 4 mnd): Å bytte til .NET var lurt, alt er mye enklere. Endret 3. januar 2009 av 9E2 Lenke til kommentar
GeirGrusom Skrevet 11. september 2008 Del Skrevet 11. september 2008 Det er ihvertfall ikke noe poeng i å skrive nye programmer i VB6. Det er såpass mange ulemper med VB6 fremfor .NET 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å