Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 6
1

Программа которая запрашивает имя файла

29.11.2010, 13:41. Просмотров 823. Ответов 9
Метки нет (Все метки)

Программа которая запрашивает имя файла, затем открывает этот файл для чтения и записи данных, после чего все цифры в этом файле заменяет на '*'. Результат работы программы показать через Блокнот.
( работа в FAR manger) помогите.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2010, 13:41
Ответы с готовыми решениями:

Программа запрашивает имя файла и формирует массив
Программа запрашивает имя файла и формирует массив, состоящий из сумм каждых трех вещественных...

Программа, которая запрашивает имя пользователя и здоровается с ним C++ Builder XE4 (визуальный режим)
доброй ночи, уважаемые программисты, умные школьники, преуспевающие студенты, а также все...

Программа, которая запрашивает у пользователя его имя, год рождения, а затем выводит эту информацию на экран
Доброго времени суток! Кому не составит труда, напишите, пожалуйста, программу, которая запрашивает...

Программа запрашивает имя файла и помещает в него 20 записей с 2 полями(целое, строка)
Программа запрашивает имя файла и помещает в него 20 записей с 2 полями(целое, строка).

9
2011 / 1283 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
29.11.2010, 14:05 2
Цитата Сообщение от JT26 Посмотреть сообщение
работа в FAR manger
dos/windows (linux)? tasm/masm/fasm?
0
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 6
29.11.2010, 14:28  [ТС] 3
Цитата Сообщение от vital792 Посмотреть сообщение
dos/windows (linux)? tasm/masm/fasm?
Windows
0
2011 / 1283 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
29.11.2010, 14:41 4
Цитата Сообщение от JT26 Посмотреть сообщение
Сообщение от vital792
dos/windows (linux)? tasm/masm/fasm?
Windows
хорошо продолжим
masm32/fasm или не принципиально? (синтаксис довольно сильно различается)
0
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 6
29.11.2010, 14:45  [ТС] 5
Цитата Сообщение от vital792 Посмотреть сообщение
хорошо продолжим
masm32/fasm или не принципиально? (синтаксис довольно сильно различается)
masm32
0
2011 / 1283 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
29.11.2010, 15:34 6
для консоли:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
.386
      .model flat, stdcall
      option casemap :none
 
      include \masm32\include\windows.inc
      include \masm32\include\kernel32.inc
      includelib \masm32\lib\kernel32.lib
 
.data
handle dd 0
fsize dd 0
mess1 db 'Type name: ',0
mess_err db 'Error!', 0
filename db 60 dup(0)
 
.data?
buffer db 0
 
.code
 
 Main proc
   LOCAL hOutput          :DWORD ;хэндл для вывода
   LOCAL hInput           :DWORD ;хэндл для ввода
   LOCAL nWrite           :DWORD ;напечатано байт
   LOCAL nRead            :DWORD ;прочитано байт
 
 
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov hOutput, eax 
invoke GetStdHandle, STD_INPUT_HANDLE
mov hInput, eax
 
invoke WriteConsole, hOutput, addr mess1, sizeof mess1, addr nWrite, NULL
invoke ReadConsole, hInput, addr filename, 60, addr nRead, NULL
 
mov ebx, nRead
mov byte ptr [filename+ebx-2], 0
invoke CreateFileA, addr filename, GENERIC_READ or GENERIC_WRITE, 0,  NULL, OPEN_EXISTING, 0, NULL
cmp eax, -1
jz @error
mov handle, eax
invoke GetFileSize, eax, NULL
mov fsize, eax
 
invoke ReadFile, handle, addr buffer, fsize, addr nRead, NULL
 
mov esi, offset buffer
mov ecx, fsize
@1:
lodsb
cmp al, '0'
jb @2
cmp al, '9'
ja @2
mov byte ptr [esi-1], '*'
@2:
loop @1
 
invoke SetFilePointer, handle, 0, NULL, FILE_BEGIN
invoke WriteFile, handle, addr buffer, fsize, addr nWrite, NULL
 
jmp @quit
@error:
invoke WriteConsole, hOutput, addr mess_err, sizeof mess_err, addr nWrite, NULL
@quit:
invoke ExitProcess,0
 
Main endp
end Main
1
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 6
29.11.2010, 15:49  [ТС] 7
Спасибо большое а предположим в tasm как будет выглядить программа.

Добавлено через 48 секунд
Цитата Сообщение от vital792 Посмотреть сообщение
для консоли:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
.386
      .model flat, stdcall
      option casemap :none
 
      include \masm32\include\windows.inc
      include \masm32\include\kernel32.inc
      includelib \masm32\lib\kernel32.lib
 
.data
handle dd 0
fsize dd 0
mess1 db 'Type name: ',0
mess_err db 'Error!', 0
filename db 60 dup(0)
 
.data?
buffer db 0
 
.code
 
 Main proc
   LOCAL hOutput          :DWORD ;хэндл для вывода
   LOCAL hInput           :DWORD ;хэндл для ввода
   LOCAL nWrite           :DWORD ;напечатано байт
   LOCAL nRead            :DWORD ;прочитано байт
 
 
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov hOutput, eax 
invoke GetStdHandle, STD_INPUT_HANDLE
mov hInput, eax
 
invoke WriteConsole, hOutput, addr mess1, sizeof mess1, addr nWrite, NULL
invoke ReadConsole, hInput, addr filename, 60, addr nRead, NULL
 
mov ebx, nRead
mov byte ptr [filename+ebx-2], 0
invoke CreateFileA, addr filename, GENERIC_READ or GENERIC_WRITE, 0,  NULL, OPEN_EXISTING, 0, NULL
cmp eax, -1
jz @error
mov handle, eax
invoke GetFileSize, eax, NULL
mov fsize, eax
 
invoke ReadFile, handle, addr buffer, fsize, addr nRead, NULL
 
mov esi, offset buffer
mov ecx, fsize
@1:
lodsb
cmp al, '0'
jb @2
cmp al, '9'
ja @2
mov byte ptr [esi-1], '*'
@2:
loop @1
 
invoke SetFilePointer, handle, 0, NULL, FILE_BEGIN
invoke WriteFile, handle, addr buffer, fsize, addr nWrite, NULL
 
jmp @quit
@error:
invoke WriteConsole, hOutput, addr mess_err, sizeof mess_err, addr nWrite, NULL
@quit:
invoke ExitProcess,0
 
Main endp
end Main
Спасибо большое а предположим в tasm как будет она выглядеть?
0
2011 / 1283 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
29.11.2010, 15:53 8
не писал в тасм под windows. Один раз глянул на пример программы - перекрестился и закрыл. Ну собственно разницы мало, отсутствует макрос invoke - все параметры в стек сам закидывай, нет includelib - таблицу импорта создавать вручную, а остальное так же. Хотя может в каких то версиях и это все присутствует, поищи в инете
1
2529 / 825 / 10
Регистрация: 31.05.2009
Сообщений: 1,669
29.11.2010, 15:53 9
Цитата Сообщение от JT26 Посмотреть сообщение
Сообщение от vital792
dos/windows (linux)? tasm/masm/fasm?
Windows
После длительного общения со студентами могу с 70% вероятностью сказать, что если студент говорит, что ему нужно для windows, значит ему нужно для dos
1
2011 / 1283 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
29.11.2010, 15:56 10
Цитата Сообщение от Goodwin98 Посмотреть сообщение
После длительного общения со студентами могу с 70% вероятностью сказать, что если студент говорит, что ему нужно для windows, значит ему нужно для dos
и правда, судя по последнему посту именно так
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2010, 15:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Программа, которая запрашивает логин и пароль из файла
Всем привет, написал программу, которая запрашивает логин и пароль из функции для C++ Вот код:...

Программу, которая запрашивает у пользователя его имя, год рождения
Напишите программу, которая запрашивает у пользователя его имя, год рождения, а затем выводит эту...

Написать программу, которая запрашивает ваше имя и рост в сантиметрах
Написать программу, которая запрашивает ваше имя и рост в сантиметрах, а затем отображает...

Написать программу, которая запрашивает имя пользователя и здоровается с ним
Написать программу, которая запрашивает имя пользователя и здоровается с ним. Никак не получается


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.