Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 419
от 18.11.2002, 16:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1849
Отправлено ответов: 5774
Активность: 312.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

masquer
Статус: Профессиональный
Общий рейтинг: 152.44
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 123.07
URL: Страничка рассылки по Паскаля...
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
Eugene
Статус: Опытный
Общий рейтинг: 111.77
URL: мощный файловый архив
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.4
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 155.77
[Подробней >>]
Остапенко александр
Статус: Начальный
Общий рейтинг: 114.7
[Подробней >>]
 
kvINT
Статус: Профессиональный
Общий рейтинг: 107.55
Телефон: (34316)2-31-45
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 119.95
[Подробней >>]
Supra
Статус: Опытный
Общий рейтинг: 117.6
[Подробней >>]
 
St
Статус: Опытный
Общий рейтинг: 116.31
[Подробней >>]
LIFO
Статус: Профессиональный
Общий рейтинг: 127.72
URL: наш сайт
Телефон: 8 01710 24758
[Подробней >>]
keleb-glin
Статус: Начальный
Общий рейтинг: 120.4
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 130.18
URL: моя рассылка по Protected Mode
[Подробней >>]
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 112.55
URL: Beeblebrox / TMA HomePage
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 117.37
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 126.37
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1783. Здравствуйте хочу спрасить у Вас 1.Пожалуста объясните, а лучше привидите пример, поиска нужного фай... (ответов: 1)
Вопрос № 1784. Здравствуйте эксперты. Не могли бы вы прислать опр. конгруэнтности двух чисел a и b.... (ответов: 3)
Вопрос № 1785. Здравствуйте, Bob Johnson! Извините за задержку с ответом, не было времени даже почитать рассылку. В... (ответов: 1)
Вопрос № 1787. какие значения может принимать переменная типа BOOL ( C++ )??... (ответов: 1)
Вопрос № 1788. пошел нахуй... (ответов: 5)
Вопрос № 1789. Следующий код у меня работает (что неудивительно): см приложение. Но стоит мне заменить в помеченной... (ответов: 1)
Вопрос № 1790. Спасибо, но исходников много, мне бы как раз задания и нужны.... (ответов: 1)
Вопрос № 1791. кто подскает, почему я не вижу кнопки ( дочернего окна ) ? make.bat tasm32 /la /m3 /ml %1.asm tlink3... (ответов: 2)
Вопрос № 1793. Здравствуйте. Из выпуске №13 рассылки "Ассемблер? Это просто! ..." - там где изучается вир... (ответов: 7)
Вопрос № 1794. Добрый день, уважаемые эксперты. 1. Есть приложение, не маленькое (около 1 метра), оно толкается с C... (ответов: 2)
Вопрос № 1795. Здравствуйте эксперты! Как узнать полный путь к любому файлу. Просто пишу программу, которая должна ... (ответов: 8)

Вопросов: 11, ответов: 32


 Вопрос № 1783

Здравствуйте хочу спрасить у Вас
1.Пожалуста объясните, а лучше привидите пример, поиска нужного файла ну и вывода его пути на экран
2.можно ли под dos работать с реестром(и если можно то с примерчиком)
3.и все же объясните, на примере, как открыть файл(не обязятельно текстовой), вывести его содержимое и найти нужную строчку и изменить ее



Вопрос отправлен: 13.11.2002, 01:51
Отправитель: lamachok (lamachok@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Приветствую Вас, lamachok!
1. Слишком мало информации о задаче - что значит нужный файл, где его искать, операционная система?
2. Можно, если знаешь формат файла реестра
3. Под виндовз API - CreateFile->ReadFile->CloseFile, под DOS - соответствующие функции 21-го прерывания. Принцип один и тот же. Найти строчку тоже понятие сложное, если алгоритм и скорость не важны то прямым перебором.
Вообще на неконкретные вопросы сложно отвечать, поэтому и ответы такие.

Ответ отправлен: 13.11.2002, 12:06
Отправитель: masquer


 Вопрос № 1784

Здравствуйте эксперты.
Не могли бы вы прислать опр. конгруэнтности двух чисел
a и b.



Вопрос отправлен: 13.11.2002, 08:35
Отправитель: kuper

[Следующий вопрос >>] [Список вопросов]

Отвечает Sensey

Доброе время суток, kuper!
http://www.yandex.ru/yandsearch?rpt=rad&text=%EA%EE%ED%E3%F0%F3%FD%ED%F2%ED%EE%F1%F2%FC+%E4%E2%F3%F5+%F7%E8%F1%E5%EB
(конгруэнтность двух чисел)
7 ссылка:
числа a и b связаны отношением конгруэнтности по модулю m, если a-b делится на m


Ответ отправлен: 13.11.2002, 15:30
Отправитель: Sensey


Отвечает Eugene

Здравствуйте, kuper!
congruence n конгруэнтность (числа a и b связаны отношением конгруэнтности по модулю m, если a-b делится на m)
congruent adj конгруэнтный; a is ~ to b modulo m число a конгруэнтно числу b (a-b делится на m)

Конгруэнтность (лат. congruens - совпадающий) - количественная равнозначность качественно равноценных (эквиполентных) состояний какого-либо процесса.

и т.п.
P.S.это всё найдено на просторах инета за 2 минуты.

Ответ отправлен: 13.11.2002, 08:57
Отправитель: Eugene


Отвечает vitya

Добрый день, kuper!
Если опр. - это определение, то, насколько я помню,
говорится, что a конгруэнтно b по модулю n, тогда и только тогда, если
(a - b) == 0 mod n (где == тождественно равно, три параллельные палочки)

Ответ отправлен: 13.11.2002, 09:29
Отправитель: vitya


 Вопрос № 1785

Здравствуйте, Bob Johnson!
Извините за задержку с ответом, не было времени даже почитать рассылку. Все еще с нетерпением жду исходник звонилки и уже с нетерпением курсовой по драйверам. Мой почтовый сервер иногда глючит, имейте в виду.
Заранее благодарен, EraSer



Вопрос отправлен: 13.11.2002, 09:20
Отправитель: EraSer (eraser99@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Добрый день, EraSer!
Высылаю и то и другое. Так что лови...


Ответ отправлен: 14.11.2002, 14:25
Отправитель: Bob Johnson


 Вопрос № 1787

какие значения может принимать переменная типа BOOL ( C++ )??



Вопрос отправлен: 13.11.2002, 15:35
Отправитель: вася

[Следующий вопрос >>] [Список вопросов]

Отвечает Остапенко александр

Доброе время суток, вася!
Типа, только true(истина)=1 и false( ложь)=0

Ответ отправлен: 13.11.2002, 15:44
Отправитель: Остапенко александр


 Вопрос № 1788

пошел нахуй



Вопрос отправлен: 13.11.2002, 15:49
Отправитель: вася

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, вася!
У-у как умно.


Ответ отправлен: 14.11.2002, 14:25
Отправитель: Bob Johnson


Отвечает Остапенко александр

Приветствую Вас, вася!
Сам пошел

Ответ отправлен: 15.11.2002, 06:31
Отправитель: Остапенко александр


Отвечает kvINT

Приветствую Вас, вася!
Предложение следует начинать с большой буквы.
Предлог "на" пишется отдельно.
Предложение следует заканчивать точкой.
В общем, "банан" тебе, Вася!
Go back to scool.
Ну и поздравляю - наверное, первый раз в жизни к компьютеру подпустили.

Ответ отправлен: 13.11.2002, 18:12
Отправитель: kvINT


Отвечает vitya

Доброе время суток, вася!
Вася, бля буду, ты поразил меня своим интеллектом.
Сам пошел на хуй... промудонец ебнутый на три четверти! :)
Спасибо за внимание...

Ответ отправлен: 13.11.2002, 16:25
Отправитель: vitya


Отвечает ASMодей

Добрый день, вася!
Ну раз пошел, то иди, счастливого пути!


Ответ отправлен: 14.11.2002, 06:20
Отправитель: ASMодей


 Вопрос № 1789

Следующий код у меня работает (что неудивительно): см приложение.
Но стоит мне заменить в помеченной строчке 101h (640x480x256) на 103h (800x600x256) или на бОльшие значения, то программа перестает работать.
Режим устанавливается (так как происходит проверка и если режим не установится, то перейдет на exitprog), но на экране ничего не рисуется.
Пробовал смотртеь информацию о режиме - функция проходит успешно, но регистры es:di пусты.
Вы не знаете, в чем может быть проблема?
Заранее спасибо!


Приложение:


Вопрос отправлен: 13.11.2002, 19:54
Отправитель: Andrey

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Здравствуйте, Andrey!
У тебя не работает этот режим, не поддерживается.
Почитай, возможно это как-то проверить.

Ответ отправлен: 15.11.2002, 17:14
Отправитель: Supra


 Вопрос № 1790

Спасибо, но исходников много, мне бы как раз задания и нужны.



Вопрос отправлен: 13.11.2002, 22:23
Отправитель: Алексей

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Приветствую Вас, Алексей!
Ок, попробую написать задания на основе тех программ.
1. Дана строка символов (в конеце - 0). Посчитать общее число бит равных 1 в этой строке и найти номера символов строки, в которых (при двоичном представлении) встречается 4 единицы подряд.
2. Ввести с клавиатуры строку. Выделить из нее все числа и вывести на экран. Например, введено: 123лоло34434с5. программа должна вывести: 123, 34434, 5.
3. Организовать посимвольный ввод строки с клавиатуры. Если вводимый символ - латинская буква, отобразить ее на экране (в процессе ввода) один раз. Если русская буква - 2 раза, если цифра - 3 раза, иначе - 4 раза. По нажатию Enter вывести введенную строку без повторов и завершить работу программы.
4. Написать программу, осуществляющую ввод числа с клавиатуры и вывод его на экран в 16-й, 8-й и двоичной системах счисления. Выполнить контроль ввода и контроль переполнения.
5. Написать программу, которая будет последовательно вводить несколько строк текста с клавиатуры (до 40), сохраняя их во время ввода в стек и затем (по вводу пустой строки) выводить все введенные строки на экран в порядке их ввода (вариант 2 - в обратном порядке).
6. Написать программу, осуществляющую поиск подстроки в строке без учета регистра.


Ответ отправлен: 14.11.2002, 14:27
Отправитель: Bob Johnson


 Вопрос № 1791

кто подскает, почему я не вижу кнопки ( дочернего окна ) ?
make.bat
tasm32 /la /m3 /ml %1.asm
tlink32 /Tpe /aa /c /x %1.obj,,,,,%1.res

.386
.model flat, stdcall
include windows.inc
includelib import32.lib
extrn ExitProcess:PROC
extrn GetModuleHandleA:PROC
extrn LoadCursorA:PROC
extrn LoadIconA:PROC
extrn RegisterClassA:PROC
extrn CreateWindowExA:PROC
extrn ShowWindow:PROC
extrn UpdateWindow:PROC
extrn GetMessageA:PROC
extrn TranslateMessage:PROC
extrn DispatchMessageA:PROC
extrn DefWindowProcA:PROC
.data
szClassName db 'my',0
szTitleName db 'мое окно',0
button_class db 'button',0
button_text db 'm',0
button_id equ 1
.data?
msg MSGSTRUCT
wc WNDCLASS
h_proc dd ?
h_window dd ?
.code
start:
call GetModuleHandleA, NULL
mov [h_proc],eax
;------------------------------------------------------------ регистрируем класс и создаем окно
mov [wc.clsStyle], CS_HREDRAW+CS_VREDRAW
mov [wc.clsLpfnWndProc], offset DemoWndProc
mov [wc.clsCbClsExtra], NULL
mov [wc.clsCbWndExtra], NULL
mov eax, [h_proc]
mov [wc.clsHInstance], eax
call LoadIconA, 0, IDI_APPLICATION
mov [wc.clsHIcon], eax
call LoadCursorA, 0 ,IDC_ARROW
mov [wc.clsHCursor], eax
mov [wc.clsHbrBackground], DEFAULT_PALETTE
mov [wc.clsLpszMenuName], NULL
mov [wc.clsLpszClassName], offset szClassName
call RegisterClassA, offset wc
call CreateWindowExA,
NULL,
offset szClassName,
offset szTitleName,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
[h_proc],
NULL
mov [h_window], eax
call ShowWindow, [h_window], SW_SHOWNORMAL
call UpdateWindow, [h_window]
;-----------------------------------------------------
msg_loop: ;
call GetMessageA, offset msg, 0, 0, 0 ;
.if eax != 0 ;
call TranslateMessage, offset msg ; обработка сообщений
call DispatchMessageA, offset msg ;
jmp msg_loop ;
.endif ;
;-----------------------------------------------------
;---------------------------------------------------------- оконная процедура
;
DemoWndProc proc hwnd:DWORD, wmsg:DWORD, wparam:DWORD, lparam:DWORD ;
;
.if wmsg==WM_DESTROY
call ExitProcess, 0
.elseif wmsg==WM_CREATE
call CreateWindowExA, NULL, offset button_class, offset button_text,
WS_CHILD+WS_VISIBLE+BS_PUSHBUTTON,
50, 50, 50, 50, [h_window], button_id, [h_proc], NULL
ret
.else
call DefWindowProcA, [hwnd],[wmsg],[wparam],[lparam]
ret ;
.endif
DemoWndProc endp ;
end start



Вопрос отправлен: 14.11.2002, 08:54
Отправитель: Bkmz (mis421@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает St

Привет, Bkmz!
Посмотрел а вашу программу и для начала нашел несколько ошибок и не совсем удачных решений:
1)tlink32 /Tpe /aa /c /x %1.obj,,,,,%1.res - откуда *.res?
2) Совет - includelib import32.lib - не будет отладочной информации под TD32, лучше указать библиотеки в командах tlink (по крайней мере у меня так).
3)msg MSGSTRUCT
wc WNDCLASS - пропущены - tasm ругается
4)в том виде в котором до меня дошло длинные строки при CALL загнулись и пришлось ставаить после них - с ними и читается легче, когда строки длинные.
5)теперь о том почему не выводилась кнопка: при обработке WM_CREATE управление еще не возвращалось после функции первой CreateWindowEx и следовательно [h_window] еще не определен, однако уже можно пользоваться [hwnd] описанного а DemoWndProc proc hwnd:DWORD, wmsg:DWORD, wparam:DWORD, lparam:DWORD
6)вроде всё!
St

Ответ отправлен: 14.11.2002, 14:09
Отправитель: St


Отвечает Bob Johnson

Доброе время суток, Bkmz!
Я сейчас не могу утверждать на 100%, но есть подозрение, что и не увидишь ты так никакой кнопки! Оно такое: WM_CREATE тебе приходит в тот момент, когда ты вызываешь CreateWindow, т.е. в это время еще твой [h_window] не определен (т.к. CreateWindow не вернулась и ты его не загрузил верным значением). Вывод - используй в качестве хэндла родительского окна [hwnd], которая всегда достоверна при вызове оконной процедуры. И вообще, есть смысл везде внутри процедуры окна, когда нужен его хэндл использовать передаваемый ей параметр, а не глобальную переменную. Пример - много одинаковых окон твоего класса.


Ответ отправлен: 15.11.2002, 13:55
Отправитель: Bob Johnson


 Вопрос № 1793

Здравствуйте.
Из выпуске №13 рассылки "Ассемблер? Это
просто! ..." - там где изучается вирус:
; переход на сегмент 0BF00h - страница дисплея:
jmp dword ptr cs:[Off_move]
Этот jmp, если я правильно понимаю, предполагает, что где-то выше произошло CS := 0BF00h (7 страница дисплея), но это присваивание значения было выполнено для регистра ES:
mov es,Seg_move
Seg_move изначально было задано как 0BF00h.
Как же CS получает нужное значение ?
Спасибо.


Приложение:


Вопрос отправлен: 14.11.2002, 10:41
Отправитель: Bayram Annanurov

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Доброе время суток, Bayram Annanurov!
Рассылки перед глазами нет. Что записано в [Off_move].
Судя по всему, там OBF00h.


Ответ отправлен: 15.11.2002, 16:50
Отправитель: Supra


Отвечает Bob Johnson

Приветствую Вас, Bayram Annanurov!
Ну так ведь jump-то DWORD PTR, т.е. ДАЛЬНИЙ. Это значит, что по адресу cs:[Off_move] находится 4 байта адреса назначения в формате сегмент:смещение. Вот и все.


Ответ отправлен: 15.11.2002, 13:55
Отправитель: Bob Johnson


Отвечает LIFO

Здравствуйте, Bayram Annanurov!
А комментарии читать не умеем?
; Что показал отладчик? Подумайте, что произошло...
Так вот вначале надо было в отладчике посмотреть.
Мы прыгаем двойным джампом,т.е. смещение+сегмент на адрес cs:0103 ( а там находится твоя видеостраница и смещение Off_move .
А вообще нужно отладчиком пользоваться.

Ответ отправлен: 16.11.2002, 21:05
Отправитель: LIFO


Отвечает keleb-glin

Добрый день, Bayram Annanurov!
Всё дело в том, что в строке:
jmp dword ptr cs:[Off_move]
указано именно dword ptr, т.е прыжок произойдёт по четырёхбайтовому абсолютному адресу (в указанный сегмент по указанному смещению), указанному после метки Off_move.
Тогда в CS запишутся вторые два байта (номер сегмента), а IP станет равным первым двум (смещение).
Почему не наоборот? Потому что в архитектуре IBM PC было принято записывать в память word'ы, dword'ы и т.д. задом наперёд. Т.е. для прыжка нужно записать в память сегмент и смещение так, чтобы сначало шло смещение, а потом - сегмент, что и сделано в данном примере.


Ответ отправлен: 14.11.2002, 18:20
Отправитель: keleb-glin


Отвечает Broken Sword

Здравствуйте, Bayram Annanurov!
нет, вы неправильно предполагаете. Переход будет произведен не на CS:off_move, а на адрес, который находится ПО АДРЕСУ CS:Off_move!!! Для того и нужны квадратные скобки.
А что у нас по адресу CS:off_move?
Off_move dw offset Lab_jmp ;Смещение и
Seg_move dw 0BF00h ;сегмент адреса

Ответ отправлен: 14.11.2002, 13:58
Отправитель: Broken Sword


Отвечает Beeblebrox

Здравствуйте, Bayram Annanurov!
Написано же как - из ячейки dword ptr cs:[Off_move], содержимое которой ты не привел в приложении

Ответ отправлен: 14.11.2002, 11:23
Отправитель: Beeblebrox


Отвечает Ayl

Добрый день, Bayram Annanurov!
Неправильно понимаешь. Было бы так, как ты сказал, если бы было бы написано так:
jmp far cs:Off_move
а в твоем примере вокруг Off_move стоят квадратные скобочки! Т.е. это не прямая адресация, а косвенная, т.е. адрес перехода записан в памяти по адресу cs:Off_move. Адрес для дальнего перехода занимает 4 байта, поэтому в команде указывается преобразование dword ptr.
А по адресу cs:Off_move должно быть записано что-то типа:
xx xx 00 BF
Первые 2 байта представляют собой смещение и попадают в регистр IP, 2 следующих - сегмент (0BF00h, как обычно, порядок записи байт в слове обратный). Это значение записывается в регистр CS. Вот, собственно, и все.


Ответ отправлен: 14.11.2002, 11:25
Отправитель: Ayl


 Вопрос № 1794

Добрый день, уважаемые эксперты.
1. Есть приложение, не маленькое (около 1 метра), оно толкается с CD (типа авторун), потом, в самом начале WinMain() оно говорит вставьте диск 2, с которого это приложение хочет что-то запустить, и две кнопки Retry и Cancel, при этом по Cancel оно продолжает работать. Но при вставке второго диска и при нажатии Cancel выводится системное окно с сообщением, что типа нужно вставить первый диск, с которого было запущено приложение, и если в этом окне надавить Cancel, то происходит падение с кодом 0xC0000013 (точно не помню, но это код типа STATUS_WRONG_VOLUME или
STATUS_NO_MEDIA_IN_DEVICE). Как я понимаю, просто EXEшник открыт на memory mapping, но еще не весь затянут в память, и при попытке его продолжить система пытается его подсосать в PAGEFILE, а диска с приложением в приводе нет. Вы не знаете или нигде не видели, как бороть эту проблему??? Ведь InstallShield умеет это делать, хотя я сам несколько раз видел, как он устойчиво падал с таким же сообщением при вставке второго диска и нажатии кнопки Cancel (отмены продолжения инсталяции) без обратной вставки первого диска.
2. Как приложению самому себя удалить после окончания
выполнения, метод отложенного удаления не подойдет??? Я читал, что DeleteFile() под Win9X сработает, а под WinNT нет. Что делать???
Заранее спасибо. Очень надеюсь на ваши советы :-)))



Вопрос отправлен: 14.11.2002, 11:39
Отправитель: NizeG (nizeg@beep.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Приветствую Вас, NizeG!
2. Меня реально заинтересовал твой вопрос и я стал смотреть любимый всеми MSDN. Как обычный смертный юзер я предположил, что флаг FILE_FLAG_DELETE_ON_CLOSE поможет мне решить эту задачу - я ввел его в строке поиска и нашел статью некого Джеффри Рихтера, который с приличной долей юмора рассказывал о своих попытках решить твой вопрос. Скажу сразу - он пробовал этот флаг - не пошло, он пробовал вызывать FreeLibrary - тоже не пошло. И знаешь на чем он остановился? На обычных bat-файлах. Потому что они МОГУТ удалять себя. Вот он запускает такой батничек, делает так, чтобы консоль была невидима и тот удаляет и его екзешник и себя самого. Можешь сам прочитать его творчество - тоже воспользуйся поиском в MSDN.
1. Не могу утверждать, т.к. вот тоже только сейчас полез искать про memory mapping, но предположу, что тебе нужно "его весь затянуть", т.е. просто прочитать его какой-нибудь lodsd.


Ответ отправлен: 15.11.2002, 13:56
Отправитель: Bob Johnson


Отвечает Остапенко александр

Здравствуйте, NizeG!


Ответ отправлен: 15.11.2002, 07:42
Отправитель: Остапенко александр


 Вопрос № 1795

Здравствуйте эксперты!
Как узнать полный путь к любому файлу. Просто пишу программу, которая должна изменить имя файлов в директории, в которой она запущена. Думал, узнать путь к программе, потом удалить ее имя из пути и подставить имя нужного файла, но чего-то это муторно уж очень, нет ли чего проще?
--
С уважением, ILYA D.



Вопрос отправлен: 14.11.2002, 16:48
Отправитель: ILYA D.

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Доброе время суток, ILYA D.!
Муторно, а что делать.

Ответ отправлен: 15.11.2002, 16:46
Отправитель: Supra


Отвечает Bob Johnson

Приветствую Вас, ILYA D.!
Функция GetFullPathName.


Ответ отправлен: 15.11.2002, 13:56
Отправитель: Bob Johnson


Отвечает Dark_Lord

Добрый день, ILYA D.!
GetCurrentDirectory

Ответ отправлен: 14.11.2002, 18:36
Отправитель: Dark_Lord


Отвечает Broken Sword

Приветствую Вас, ILYA D.!
Недавно вопрос уже звучал...
mov ax,1203h
int 2Fh ; get DOS data-segment
mov ax,ds
lds si,ds:[bp-1Ah] ; ds:si – full path to running program


Ответ отправлен: 14.11.2002, 20:26
Отправитель: Broken Sword


Отвечает Sensey

Доброе время суток, ILYA D.!
TechHelp читал?
См Приложение(это все для 21 инта)


Приложение:

Ответ отправлен: 15.11.2002, 11:20
Отправитель: Sensey


Отвечает St

Привет, ILYA D.!
в начале программы GetCurrentDirectory (никагого имени там нет) + имя файла
St

Ответ отправлен: 14.11.2002, 17:21
Отправитель: St


Отвечает Eugene

Добрый день, ILYA D.!
Не понимаю, зачем так мутить? Просто указывай имена файлов без пути. По умолчанию файлы ищутся в той дире, из которой запущен экзешник.

Ответ отправлен: 14.11.2002, 17:35
Отправитель: Eugene


Отвечает Остапенко александр

Доброе время суток, ILYA D.!
проще ничего нет


Ответ отправлен: 15.11.2002, 07:49
Отправитель: Остапенко александр



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (42)
C / C++ (29)
Perl (8)
Delphi (13)
Pascal (21)
Basic / VBA (11)
Java / JavaScript (13)
PHP (11)
MySQL / MSSQL (9)
Пользователю
Windows 95/98/Me (31)
Windows NT/2000/XP (21)
"Железо" (28)
Поиск информации (17)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (16)
Юристу
Гражданское право (9)
Семейное право (3)
Трудовое право (4)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное