Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Консольное приложение  (Прочитано 25965 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
UdavS
Интересующийся

us
Offline Offline
Пол: Мужской

« : 18-10-2010 12:59 » 

Здравствуйте уважаемые форумчани))
недавно начал изучать прогромирование под Win API.
есть такая задача каторую надо реализовать в Assembler :

надо создать консольное приложение каторое позволяло б открыть файли и выводить его содержимое.

Посоветуйте с чего начать, какие функции Win API надо использовать.
Зарание благодарен.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 18-10-2010 13:10 » 

UdavS, посмотри функции в MSDN. Тебе потребуется CreateFile, ReadFile и CloseHandle. Вывод в консоль аналогичен работе с файлом.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
UdavS
Интересующийся

us
Offline Offline
Пол: Мужской

« Ответ #2 : 18-10-2010 15:20 » 

Набросал код. Гляньте  пожалуйста, укажите что не так...


.386
.model flat, stdcall
option casemap :none            

   include \masm615\include\windows.inc
   include \masm615\include\user32.inc
   include \masm615\include\kernel32.inc
   includelib \masm615\lib\user32.lib
   includelib \masm615\lib\kernel32.lib

bsize equ 100
.data
file1 db '4.txt'
buf db bsize dup(?)
fhandle1 dd ?
cRead dd ?
cWrite dd ?

.code
start:
   invoke CreateFile,ADDR file1,GENERIC_READ,\
   0,NULL,OPEN_EXISTING,\
        FILE_ATTRIBUTE_NORMAL,0                                //открытие для чтения из файла

mov fhandle1,eax
 
   invoke ReadFile,fhandle1,ADDR buf,\
   100,ADDR cRead,NULL                              //чтение из ф-ла в buf

...

invoke CloseHandle,fhandle1
invoke ExitProcess,0
end start
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 18-10-2010 15:23 » 

Где проверки? Файл может не открыться и что тогда?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
UdavS
Интересующийся

us
Offline Offline
Пол: Мужской

« Ответ #4 : 18-10-2010 16:39 » 

как и пердпологалась файл не открывается(((
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 18-10-2010 17:26 » 

А почему - знаешь?
Посмотри представление строки в Си.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
UdavS
Интересующийся

us
Offline Offline
Пол: Мужской

« Ответ #6 : 18-10-2010 18:16 » 

Не не знаю, я в программировании еще нуб, ток начал разбиратся. Если можно то Вы направляйте меня в нужную сторону, делайте подсказки, вот смотри с горем попалам и резгребу  Ассемблер  Улыбаюсь
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 18-10-2010 18:31 » 

По моему ты слишком оптимистичен. Нельзя без подготовки писать программу. Даже не зная представления текстовых строк в памяти.

http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%BE%D0%B2%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
UdavS
Интересующийся

us
Offline Offline
Пол: Мужской

« Ответ #8 : 18-10-2010 19:34 » new

Не, с азами програмирования в Ассемблере я знаком, я начинал с пикконтроллеров, но там синтаксис намного проще и ограниченей)) с таким как в задании просто никогда на стыкался, вот и возникают проблемы..
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines