|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
c.m.obrecht
Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 02.08.2007, 23:41 Titel: |
|
|
Aah da gibt es sowas. Ja für Assembler mag es noch sinnvoll sein, obwohl es da gerade interesant ist auch mal "hinter" die Funktionen zu sehen indem man sie selbst programmiert. Und ob die dann auch schneller sind?
Jedenfalls vielen Dank für die tolle Hilfe bis jetzt, bin recht weiter gekommen. Nun, (um es kompliziert zu machen), ich sollte 3 Strings zusammenkopieren. Das hat zuerst super geklappt, nur war die Reihenfolge falsch; also tauschte ich die Variablen so aus dass es nun richtig sein müsste (open1+szFileName+open2). Allerdings genau dann (und sonst nie) stürzt das Programm ab
Hier der Codeausschnitt:
Code: | mov szFileName[0],0
invoke GetFileName,hWin,SADD("Open A File"),
SADD("All files",0,"*.*",0)
cmp szFileName[0],0
je @F
Start:
lea esi, open1
FindLastByte:
lodsb
Or al, al
jnz FindLastByte
dec esi
mov edi, esi
lea esi, szFileName
CatStrings:
lodsb
Or al, al
jz Done
stosb
jmp CatStrings
Done:
mov al, 0
stosb
Start2:
lea esi, open1
FindLastByte2:
lodsb
Or al, al
jnz FindLastByte2
dec esi
mov edi, esi
lea esi, open2
CatStrings2:
lodsb
Or al, al
jz Done2
stosb
jmp CatStrings2
Done2:
mov al, 0
stosb
invoke MessageBox,hWin,ADDR open1,ADDR szDisplayName,MB_OK |
EDIT: ..kann das sein dass ein String irgendwie zu klein reserviert wird? Hatte ich aber noch nie Probleme mit nullterminierten Strings (Eingaben ab Tastatur bei denen man die Grösse im Voraus auch nicht weiss etc.) _________________ ...längre blomstre gamle nord... |
|
Nach oben |
|
|
c.m.obrecht
Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 15.08.2007, 15:44 Titel: |
|
|
Habe mal in der Datei nachgeschaut wo szFileName deklariert wird. Es wird mit szFileName db 260 dup(0) deklariert. Dürfte daran liegen, da jeweils ein Problem auftritt wenn szFileName nicht am Schluss der Kette ist, obwohl für die Übergabe an Win32-Funktionen damit keine Probleme entstehen wie mit meinen Strings ansonsten (variable db " ",0) auch nicht! Aber wie kann ich das umgehen? Habe versucht anders zu deklarieren doch das klappte nicht, kommt wohl von der openfilename-Struktur. _________________ ...längre blomstre gamle nord... |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|