|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.05.2008, 23:38 | #21 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Нужно сохранить файл как обычно, только имя файла должно точно совпадать с названием модуля, у тебя Modul. Потом нажать Ctrl+F9, появится окошко с вопросом, нажать OK и все, в папке с файлом появится файл MODUL.TPU
|
24.05.2008, 00:09 | #22 |
Пользователь
Регистрация: 02.04.2008
Сообщений: 32
|
У меня пишет Cannot run a unit.
|
24.05.2008, 07:03 | #23 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Все правильно. Нажми OK и все.
|
24.05.2008, 14:30 | #24 |
Пользователь
Регистрация: 02.04.2008
Сообщений: 32
|
У меня ничего не сохраняется почему то..
Ты можешь создать вот этот модуль: Код:
|
24.05.2008, 14:37 | #25 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Вот твой модуль.
|
24.05.2008, 16:36 | #26 |
Пользователь
Регистрация: 02.04.2008
Сообщений: 32
|
А ты не знаешь почему используя этот модуль у меня пишет stack overflow error?
Код:
|
24.05.2008, 16:57 | #27 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Я вообще не понимаю программу, там ошибки.
Процедура print(var dest: text; const f_name: string); вообще бессмысленная, она ничего не делает. Я же вам ее переделал. program lab5; uses crt, modul, printer; //для чего модуль printer? //Зачем еще раз процедура, если она есть в модуле? procedure print(var dest: text; const f_name: string); var f: text; s: string; begin print(dest, s); end; var txt: text; s: string; i: integer; begin write('Imya faila: '); readln(s); writeln('Vvedite 1) pechat 2) prosmotr'); readln(i); case i of 1rint(lst,s); //что здесь за переменная lst? 2: begin assigncrt(txt); rewrite(txt); //здесь я не понимаю смысл assigncrt(txt); print(txt, s); //что делает процедура? close(txt); end; end; readln; end. А вообще stack overflow error это "Переполнение стека". Эта ошибка генерируется на входе в процедуру или функцию, скомпилированную в режиме {$S+}, в случае, если нет достаточной области для размещения локальных переменных подпрограммы. Увеличьте размер стека, используя директиву компилятора {$М}. У меня такое бывало, исправлял в программе методом тыка, что-то неправильно вводится, не хватает памяти. Короче и модуль и программа никуда не годятся. |
24.05.2008, 17:22 | #28 |
Пользователь
Регистрация: 02.04.2008
Сообщений: 32
|
модуль принтер для распечатки, lst входит в этот модуль и по задумке выводить мой текст на печать, assigncrt(txt) ну это функция какая то, она нужна по любому..
Я вот так теперь переделал: Код:
Код:
|
24.05.2008, 17:39 | #29 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Извини конечно, но твой модуль мне как то без надобности.
assigncrt(txt) - это не какая-то функция, а процедура связывающая текстовый файл с млдулем Crt, и зачем она тебе нужна, понятия не имею. А вот процедура assign(f,filename) нужна для связывания твоей переменной с именем файла. И вообще я сейчас буду занят и с вашей проблемой расстаюсь. |
24.05.2008, 18:13 | #30 |
Пользователь
Регистрация: 02.04.2008
Сообщений: 32
|
Ты мне просто его скомпилируй и выложи тут как до этого сделал, а то у меня до сих пор не работает эта функция..я там просто изменения внес, указал путь к файлу, а то пишет file not found..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не найдены модули | Черничный | Работа с сетью в Delphi | 2 | 22.08.2008 18:50 |
Модули | vitekbest | Помощь студентам | 2 | 02.06.2008 09:55 |
Модули | Михаил Юрьевич | Общие вопросы Delphi | 3 | 16.02.2008 20:59 |
Модули | Altera | Общие вопросы Delphi | 4 | 04.02.2008 19:12 |
Модули | aln123 | Помощь студентам | 3 | 21.10.2007 08:34 |