Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.782 pregleda

Najnovija ↓

sarme & stringovi 09.01.2005. u 17:06 · pre 265 meseci #1
skoro sam poceo sa asemblerom pa ako moze neko da objasni kako da napravim filter za OPENFILENAME strukturu tipa

"file.exe",0,"file.exe",0,0

s tim sto ime fajla imam u nekom bufferu. Sa lstrcat sam kopirao ime fajla u novi buffer, ali ne znam kako da dodam ove nule?
Potpis
Planets devastated
Mankind's on its knees
A saviour comes from out the skies
In answer to their pleas...

M.R. J.A.C.K
Re: sarme & stringovi 10.01.2005. u 10:21 · pre 265 meseci #2
Pošto nikad nisam radio sa GetOpenFileName i GetSaveFileName i pomenutom stukturom ne mogu ti pomoći. Međutim, možda bi hteo da pregledaš www.win32asm.cjb.net Iczelion je nešto slično radio u tutorialu koji se odnosi na fajlove, takođe možeš pregledati i njegove druge tutoriale, jer on stalno u svojim primerima koristi otvaranje fajlova preko menija. =)

Re: sarme & stringovi 10.01.2005. u 13:24 · pre 265 meseci #3
Hvala na odgovoru. :-)

Citat:
Vojislav Milunovic: Pošto nikad nisam radio sa GetOpenFileName i GetSaveFileName i pomenutom stukturom ne mogu ti pomoći.


Nema to veze sa strukturom ja samo treba da napravim string oblika:
"file.exe",0,"file.exe",0,0 i to smestim u neki bafer
gde je file.exe promenljiva koja stoji u nekom baferu.

Citat:
Vojislav Milunovic: Međutim, možda bi hteo da pregledaš www.win32asm.cjb.net Iczelion je nešto slično radio u tutorialu koji se odnosi na fajlove, takođe možeš pregledati i njegove druge tutoriale, jer on stalno u svojim primerima koristi otvaranje fajlova preko menija. =)


Da da citao sam njegove tutoriale, ali mislim da je on uvek na pocetku deklarisao filter tj. da ga nije naknadno pravio. Mada nisam siguran provericu!
Potpis
Planets devastated
Mankind's on its knees
A saviour comes from out the skies
In answer to their pleas...

M.R. J.A.C.K
Re: sarme & stringovi 10.01.2005. u 14:32 · pre 265 meseci #4
Aha znaci oces da napravis "file.exe\x00file.exe\x00\x00", nisam razumeo iz prve =)
Evo kako bi ja to uradio u MASM (nije naj elegantnije resenje ali ce da odradi posao)

Code:

.486 
.model flat, stdcall
option casemap : none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib

.data
file db "file.exe",0
buffer db 128 dup(0)

.code
start:
invoke lstrlen, ADDR file
mov ecx, eax
push ecx
mov esi, offset file
mov edi, offset buffer
rep movsb

mov esi, offset file
inc edi
pop ecx
rep movsb
invoke ExitProcess, NULL
end start
Re: sarme & stringovi 10.01.2005. u 14:44 · pre 265 meseci #5
Code:

napravifilter proc uses edi pfilename,pbuf; oba su pointer na string
    mov edi,pbuf
    invoke lstrcpy,edi,pfilename; kopiraj filename
    invoke lstrlen,pfilename; duzina stringa filename
    lea edi,[edi+eax+1]; pointer+=strlen(pfilename) + 1 (plus 0)
    push eax; strlen na stack
    invoke lstrcpy,edi,pfilename; kopiraj filename #2
    pop eax
    add edi,eax
    xor eax,eax
    stosw; nula,nula
    ret
napravifilter endp

nekafunkc proc
local tbuf[200h]:byte; sa stackom je bolje
    invoke napravifilter,T('*.*'),addr tbuf
    ret
nekafunkc endp


edit: c0mrad je brzi!
Re: sarme & stringovi 10.01.2005. u 19:15 · pre 265 meseci #7
Hvala vam puno ovo mi je resilo i neke ranije probleme vezane za stringove. :-)
Potpis
Planets devastated
Mankind's on its knees
A saviour comes from out the skies
In answer to their pleas...

M.R. J.A.C.K
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme