Thread View: pl.comp.lang.asm
9 messages
9 total messages
Started by "Remek"
Mon, 26 Sep 2011 01:41
=?iso-8859-2?Q?Lista_plików_w_katalogu?
Author: "Remek"
Date: Mon, 26 Sep 2011 01:41
Date: Mon, 26 Sep 2011 01:41
40 lines
1429 bytes
1429 bytes
Witam Walcz� z przerwami nad programem listuj�cym pliki w katalogu. Jedna z wersji wykorzystuje DOS-owe polecemie dir. Wykonanie polecenia daje: ----------------------------------------------------------------- Wolumin w stacji E nie ma etykiety. Numer seryjny woluminu: 2B60-0E0C Katalog: E:\ArchRW4\Asembler\Asembler32\Masm32\CwiczMasm\Format\Listing\XP\2 2010-10-28 21:37 <DIR> . 2010-10-28 21:37 <DIR> .. 2011-09-26 01:29 16 lista.bat 2009-12-20 05:58 10�958 Listing.asm 2008-09-23 12:46 520 Listing.bat 2009-12-20 05:58 5�632 Listing.exe 2007-12-01 16:38 45 Listing.rc 2009-12-20 05:58 860 Listing.res -------------------------------------------------------------------- Aby otrzyma� posta�: Listing.asm 10 kB Listing.bat 0,5 kB Listing.exe 5 kB musz� plik dodatkowo obrabia� w napisanym programie. Efekty s� r�ne w zale�no�ci od ilo�ci podkatalog�w (kt�re usuwam) i od tego czy polecenie jest realizowane w Win 98, czy WIn XP (r�na ilo�� spacji). Druga wersja bazuje na tutorialu Iczeliona strona 31/"Testowanie kontrolki widoku listy". W tej wersji jednak uzyskuj� tylko nazw� pliku bez jego rozmiaru. Je�li kto� wie jak to zrobi� prosz� o podpowied�. Ewentualnie mog� podes�a� wspomniana stron� tutoriala. Remek
Re: Lista =?ISO-8859-2?Q?plików_w_katalogu?
Author: "Bogdan (bogdro)
Date: Mon, 26 Sep 2011 18:19
Date: Mon, 26 Sep 2011 18:19
53 lines
2284 bytes
2284 bytes
W dniu 26.09.2011 01:41, Remek pisze: > Witam > > Walcz� z przerwami nad programem listuj�cym pliki w katalogu. Jedna z wersji > wykorzystuje DOS-owe polecemie dir. Wykonanie polecenia daje: > > ----------------------------------------------------------------- > Wolumin w stacji E nie ma etykiety. > Numer seryjny woluminu: 2B60-0E0C > > Katalog: > E:\ArchRW4\Asembler\Asembler32\Masm32\CwiczMasm\Format\Listing\XP\2 > > 2010-10-28 21:37 <DIR> . > 2010-10-28 21:37 <DIR> .. > 2011-09-26 01:29 16 lista.bat > 2009-12-20 05:58 10�958 Listing.asm > 2008-09-23 12:46 520 Listing.bat > 2009-12-20 05:58 5�632 Listing.exe > 2007-12-01 16:38 45 Listing.rc > 2009-12-20 05:58 860 Listing.res > -------------------------------------------------------------------- > > Aby otrzyma� posta�: > > Listing.asm 10 kB > Listing.bat 0,5 kB > Listing.exe 5 kB > > musz� plik dodatkowo obrabia� w napisanym programie. Efekty s� r�ne w > zale�no�ci od ilo�ci podkatalog�w (kt�re usuwam) i od tego czy polecenie > jest realizowane w Win 98, czy WIn XP (r�na ilo�� spacji). Opr�cz tego, uruchamianie dodatkowego programu i przegl�danie jego wynik�w raczej nie b�dzie zbyt wydajne. > Druga wersja bazuje na tutorialu Iczeliona strona 31/"Testowanie kontrolki > widoku listy". W tej wersji jednak uzyskuj� tylko nazw� pliku bez jego > rozmiaru. Je�li kto� wie jak to zrobi� prosz� o podpowied�. Ewentualnie mog� > podes�a� wspomniana stron� tutoriala. Zobacz, jak dzia�a ta lista. Czytaj r�cznie list� plik�w w katalogu - raz, �e to b�dzie szybsze, to jeszcze zwykle od razu masz wi�cej informacji ni� tylko nazwa pliku. W C s� od tego funkcje opendir, readdir i closedir, nie wiem jak w win32 API (ale mog� spr�bowa� znale��). Co do strony tutoriala, to lepiej podaj link. -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.Xiph.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
=?iso-8859-2?Q?Re:_Lista_plików_w_katalogu?
Author: "Remek"
Date: Mon, 26 Sep 2011 18:43
Date: Mon, 26 Sep 2011 18:43
11 lines
353 bytes
353 bytes
U�ytkownik "Bogdan (bogdro)" napisa�: > Co do strony tutoriala, to lepiej podaj link. W tym s�k, �e nie mog� jej znale��. Googel nie znajduje orygina�u i te� nie znajduje polskiego t�umaczenia in�yniera Wa�aszka. Wygl�da na to, �e strony zosta�y usuni�te, albo inaczej si� nazywaj�. Popr�buj� jeszcze. Remek
Re: Lista =?ISO-8859-2?Q?plików_w_katalogu?
Author: Michoo
Date: Mon, 26 Sep 2011 19:54
Date: Mon, 26 Sep 2011 19:54
11 lines
340 bytes
340 bytes
W dniu 26.09.2011 01:41, Remek pisze: > W tej wersji jednak uzyskuj� tylko nazw� pliku bez jego > rozmiaru. Je�li kto� wie jak to zrobi� prosz� o podpowied�. Ewentualnie mog� > podes�a� wspomniana stron� tutoriala. FindFirstFile,FindNextFile,GetFileType,GetFileSize i sprintf do formatowania -- Pozdrawiam Michoo
=?iso-8859-2?Q?Re:_Lista_plików_w_katalogu?
Author: "Remek"
Date: Wed, 05 Oct 2011 01:32
Date: Wed, 05 Oct 2011 01:32
13 lines
371 bytes
371 bytes
U�ytkownik "Michoo" napisa�: > FindFirstFile,FindNextFile,GetFileType,GetFileSize i sprintf do > formatowania Kt�ra z tych funkcji listuje pliki z podaniem rozmiaru? Z tego co czyta�em te funkcje Windows nie podaj� atrybut�w. Nie s�dz�, aby rozmiar by� atrybutem, ale te w�a�nie fubkcje s� w moim programie i rozmiar�w nie podaj�. Remek
Re: Lista =?ISO-8859-2?Q?plików_w_katalogu?
Author: Michoo
Date: Wed, 05 Oct 2011 10:57
Date: Wed, 05 Oct 2011 10:57
31 lines
755 bytes
755 bytes
W dniu 05.10.2011 01:32, Remek pisze: > U�ytkownik "Michoo" napisa�: > >> FindFirstFile,FindNextFile,GetFileType,GetFileSize i sprintf do >> formatowania > > Kt�ra z tych funkcji listuje pliki z podaniem rozmiaru? �adna nie listuje. Listowa� musisz sobie sam. > Z tego co czyta�em > te funkcje Windows nie podaj� atrybut�w. Nie s�dz�, aby rozmiar by� > atrybutem, ale te w�a�nie fubkcje s� w moim programie i rozmiar�w nie > podaj�. GetFileSize poda�em dla zmy�ki. Algorytm jest mniej wi�cej taki: list(�cie�ka): FindFirst(�cie�ka) while next=FindNext() if(GetType(next)==dir) list(next) else size=GetSize sprintf(buf,"%s %d",next,size); MessageBox(buf) -- Pozdrawiam Michoo
=?iso-8859-2?Q?Re:_Lista_plików_w_katalogu?
Author: "Remek"
Date: Wed, 05 Oct 2011 20:52
Date: Wed, 05 Oct 2011 20:52
14 lines
385 bytes
385 bytes
U�ytkownik "Bogdan (bogdro)" napisa�: > Co do strony tutoriala, to lepiej podaj link. Dzi�ki uprzejmo�ci autora t�umaczenia link si� odnalaz�: http://edu.i-lo.tarnow.pl/inf/prg/002_winasm/0032.php Z tego co zauwa�y�em tutorial zosta� rozbudowany. Kontrolka pokazuje rozmiar pliku. Problem w tym jak to co si� pokazuje w oknie zapisa� do pliku txt. Remek
Re: Lista =?ISO-8859-2?Q?plików_w_katalogu?
Author: "Bogdan (bogdro)
Date: Thu, 06 Oct 2011 17:46
Date: Thu, 06 Oct 2011 17:46
28 lines
1324 bytes
1324 bytes
W dniu 05.10.2011 20:52, Remek pisze: > U�ytkownik "Bogdan (bogdro)" napisa�: > >> Co do strony tutoriala, to lepiej podaj link. > > Dzi�ki uprzejmo�ci autora t�umaczenia link si� odnalaz�: > > http://edu.i-lo.tarnow.pl/inf/prg/002_winasm/0032.php > > Z tego co zauwa�y�em tutorial zosta� rozbudowany. Kontrolka pokazuje rozmiar > pliku. Problem w tym jak to co si� pokazuje w oknie zapisa� do pliku txt. Do obs�ugi plik�w masz CreateFile i WriteFile lub FileWrite (nie pami�tam dok�adnie). List� plik�w masz, wed�ug kodu na stronie (i podpowiedzi koleg�w), dzi�ki FindFirstFile+FindNextFile. Te funkcje zwracaj� struktury typu WIN32_FIND_DATA. Ze struktur tych procedura ShowFileInfo w kodzie na stronie wyci�ga [edi].cFileName i [edi].nFileSizeLow. Wystarczy wi�c te pola zapisywa� do pliku. Przerabianie DWORDa na napis na pewno ju� masz (a je�li nie, to mo�esz u�y� wsprintf, jak na tej stronie), wi�c wystarczy przerobi� i bufor wyj�ciowy zapisa� do pliku. -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.Xiph.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
=?iso-8859-2?Q?Re:_Lista_plików_w_katalogu?
Author: "Remek"
Date: Fri, 07 Oct 2011 00:48
Date: Fri, 07 Oct 2011 00:48
47 lines
1095 bytes
1095 bytes
U�ytkownik "Bogdan (bogdro)" napisa�: > procedura ShowFileInfo w kodzie na stronie wyci�ga [edi].cFileName i [edi].nFileSizeLow. Masz na my�li to? ====================================== ShowFileInfo PROC USES edi row:DWORD, lpFind:DWORD LOCAL lvi: LV_ITEM LOCAL buffer[20]: BYTE mov edi, lpFind ASSUME edi: PTR WIN32_FIND_DATA mov lvi.imask, LVIF_TEXT + LVIF_PARAM push row pop lvi.iItem mov lvi.iSubItem, 0 lea eax, [edi].cFileName mov lvi.pszText, eax push row pop lvi.lParam invoke SendMessage, hList, LVM_INSERTITEM, 0, addr lvi mov lvi.imask, LVIF_TEXT inc lvi.iSubItem invoke wsprintf, addr buffer, addr template, [edi].nFileSizeLow lea eax, buffer mov lvi.pszText, eax invoke SendMessage, hList, LVM_SETITEM, 0, addr lvi ASSUME edi: NOTHING ret ShowFileInfo endp =========================================================== Dzi�ki za podpowied�. Dzi�ki niej rozgryz�em t� strukture i program dzia�a. Jeszcze tylko optymalizacja i procedury formatowania tekstu. Remek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads