Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Turbo Pascal проблема - помогите, плиизз!

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

Sleepwalker



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
господа.. а кто мешает создать динамическую переменную размером с файл, вырезать из нее все разрывы строк и разбить по 50 символов?  
код получится правда немного сложнее
 
кстати... а приведенные коды тестировал кто-нибудь? :-\

----------
...или я ничего не понимаю в этой жизни... или понимаю слишком хорошо...

Всего записей: 1957 | Зарегистр. 19-10-2002 | Отправлено: 02:01 10-03-2003 | Исправлено: Sleepwalker, 02:30 10-03-2003
Pinocchio

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sleepwalker
Зачем?


----------
Meaning this is something additional.

Всего записей: 683 | Зарегистр. 18-11-2002 | Отправлено: 09:59 11-03-2003
defis



LP fan
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
raven
не хотит. оно ваще ничего не делает тогда.
а ещё оно матерится на:"writeln(fp, ch);" - когда "ln" убираешь - запускается - только эффекта нуль..
 
Добавлено
Sleepwalker
что ето такое?
Pinocchio
А как сделать - есть идеи? А то ведь - сам то я точно не доеду.

Всего записей: 1253 | Зарегистр. 07-10-2002 | Отправлено: 19:21 11-03-2003
Sleepwalker



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pinocchio
за шкафом
 
defis
"что такое" - что?
 
Добавлено
defis

Цитата:
writeln(fp, ch);"  

ессно... файл типизированный, а вритлн - для текстовых.

----------
...или я ничего не понимаю в этой жизни... или понимаю слишком хорошо...

Всего записей: 1957 | Зарегистр. 19-10-2002 | Отправлено: 03:53 12-03-2003
defis



LP fan
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sleepwalker

Цитата:
а кто мешает создать динамическую переменную размером с файл, вырезать из нее все разрывы строк и разбить по 50 символов?  
- "это".

Цитата:
код получится правда немного сложнее
- а практически мог бы показать?

Всего записей: 1253 | Зарегистр. 07-10-2002 | Отправлено: 04:45 12-03-2003
defis



LP fan
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Мдя, интересно - идей боше нет?
О! кстати - у меня завтра пара у него - правда там лекция - я спрошу - если что я ещё сюды вернусь.

Всего записей: 1253 | Зарегистр. 07-10-2002 | Отправлено: 18:41 12-03-2003
defis



LP fan
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня есть идея - вот тока не приходит в мои мозги как на практике это оформить. Идея такова - читать просто предложения - если в предложении >50 удаляем после 50 символа и заносим в тот файл(str1.txt) - если же меньше прибавляем с той строки у которой номер на 1 больше. вот такая у меня к вам просьба.

Всего записей: 1253 | Зарегистр. 07-10-2002 | Отправлено: 13:43 13-03-2003
defis



LP fan
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Эту задачку я решил - если кого заинтересует текст решения - в ПМ.
У меня теперь другой вопрос:Есть задачка, также есть предложение как решить - надо только поправить где я неправ.
Вот задача:
В файле Data.txt хранятся записи с информацией о некоторой предметной области. Каждая запись хранится в текстовом виде в одной строке.Прочитать все записи из файла, отобрать нужные записи по введеному пользователем критерию и вывести их в файл Data1.txt использовать записи.:  
Библиотека.Поля записи:Фамилия автора, название книги, год издания, число страниц. Варианты отбора:по фамилии автора и по годам издания.
Вот текст примерного решения.

Код:
 
label
b1;
  a1;
var
f1,f:text;
avtor:string;
n,god:integer;
glava,nazvanie,godik,chislo:string;
begin
writeln('Poisk v biblioteke!');
Assign(f,'c:\Data.txt');
Assign(f1,'c:\Data1.txt');
reset(f);
writeln('Kak iskat budem - god izdania ili po avtoru?Esli po avtoru gmi 1, esli po godu izdania to 2!'),a;
readln(a);
if a:=1 then goto a1
else goto b1
a1:
   repeat
write('Avtor->');
readln(glava);
if length(glava)<>0 then
begin
reset(f);
n:=0;
while not EOF do
begin
readln(f,glava);
readln(f,nazvanie);
readln(f,godik);
readln(f,chislo);
if glava=avtor then  
append(f1);
          begin
               writeln(f1,glava,nazvanie,godik,chislo);
          end;
close(f1);
n:=n+1
 end;
if n=0 then writeln('Svedenii o',avtor,'netu');
end;
until length(avtor)=0;
b1:
   repeat
write('god->');
readln(god);
if length(god)<>0 then
begin
reset(f);
n:=0;
while not EOF do
begin
readln(f,glava);
readln(f,nazvanie);
readln(f,godik);
readln(f,chislo);
if godik=god then  
append(f1);
          begin
               writeln(f1,glava,nazvanie,godik,chislo);
          end;
close(f1);
if n=0 then writeln('Svedenii o',god,'netu');
end;
until length(avtor)=0;
end;


Всего записей: 1253 | Зарегистр. 07-10-2002 | Отправлено: 18:30 14-03-2003
millenium



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток всем.
Вопрос к знатокам Turbo Pascal 7.0.
Возникла проблема при использовании процедуры EXEC с графическим режимом.
Как извесно процедура EXEC для своей работы требует инструкцию компилятора {$M 4000,0,0}.
Так вот, при использовании этой инструкции в исходнике программы, после ее запуска,  
графический режим вылетает с ошибкой  "BGI Error: Graphics not Initialized ( use InitGraph )".
Если не использовать инструкцию, то графический режим нормально запускается, но зато
не работает EXEC.
Я понять не могу, в чем тут дело.  Если кто знает в чем проблема, пожалуйста помогите.

Всего записей: 853 | Зарегистр. 25-02-2002 | Отправлено: 12:59 05-04-2003
IntenT



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
millenium
Если память мне не изменяет, то перед вызовом exec надо возвращаться в текстовый режим - как родной для доса. И Никаких инструкций exec не требует

Всего записей: 1584 | Зарегистр. 16-12-2001 | Отправлено: 13:36 05-04-2003
millenium



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, я попробую. Но вот насчет инструкции для EXEC, ее использование рекомендовано в книге, которую я использую (Турбо Pascal Учебник, С.А. Немнюгин, Издательство Питер). Да и без нее и правда EXEC ничего не запускает, а сней все окей.  
 
Добавлено
Я попробовал и ничего не заработало.
Использовал процедуры RestoreCrtMode и SetGraphMode для переключения между графическим и текстовым режимами, не закрывая сам графический режим.
Все нормально переключается и туда иобратно, но EXEC всеравно,  
без этой => {$M 4000,0,0} инструкции нифига не запускает, ну хоть убей!  
А сней => BGI Error!
Как же быть то? Должно же быть какое то решение.

Всего записей: 853 | Зарегистр. 25-02-2002 | Отправлено: 14:48 05-04-2003
IntenT



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
millenium
Поэкспериментируй с параметрами директивы $M,  и попробуй не переключать режим, а делать CloseGraph перед EXEC

Всего записей: 1584 | Зарегистр. 16-12-2001 | Отправлено: 23:40 05-04-2003
Sleepwalker



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а вообще, не смотрели, какие размеры кучи и стека должны быть при инициализации графики?  
у меня на нее написало: not enough memory to load driver.


----------
...или я ничего не понимаю в этой жизни... или понимаю слишком хорошо...

Всего записей: 1957 | Зарегистр. 19-10-2002 | Отправлено: 03:57 06-04-2003
millenium



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CloseGraph я пробовал, не помогает. Но дело даже не в этом.  
Само наличие инструкции {$M...} В исходнике программы приводит к сбою BGI,  
при этом если ее скомпилить(Alt+F9), то компилятор по окончании работы говорит  
что все окей. А если ее запустить через Ctrl+F9, то сразу вылетает BGI Error.
Вот только почему это происходит, я не знаю.  
 
Sleepwalker, а какими должны быть параметры?  
 
Интересно получается, используя инструкцию {$M...} резервирую память для Exec,
Graph лезет в ту же память что и Exec и им обоим не хватает.  
Отсюда и ошибка, я правильно понял?
 
 
Добавлено
Точно блин, так и есть. Заменил инструкцию {$M $4000,0,0} на {$M $4000,0,65520}
и тутже все встало на место.
 
Всем спасибо за помощь!

Всего записей: 853 | Зарегистр. 25-02-2002 | Отправлено: 07:40 06-04-2003
Phricker



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем.
Вобщем тоже решил поучть этот язык и возникала трабла..
Когда пишу
programm s_privetom_1;
и пытаюсь сделать компиляюцию то орёт что
Error 3: Unknow identifier.
Error 5:Syntax Error.
В чём трабла?
Я пробывал вобще не писать заголовок но всё равно орёт...

----------
..

Всего записей: 3934 | Зарегистр. 09-12-2001 | Отправлено: 21:07 19-08-2003 | Исправлено: Phricker, 21:21 19-08-2003
Phricker



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А блин... разобрался уже..  
вместо ' вводил ` вот оно и орало....

----------
..

Всего записей: 3934 | Зарегистр. 09-12-2001 | Отправлено: 08:45 20-08-2003
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ответ на вопрос отсюда  
 
DevoureR_Of_GrieF
Цитата:
Подскажите пожалуйста ЭТО правда что в виндовс висте нельзя что либо изменять на диске С (системный) Только удалять и программное обеспечение и устанавливать его же
Сплошная неправда
Цитата:
Суть проблемы в том что поставил Турбо паскал  на диск С  а програма не хочет комппилироваться ей по идее нужон создать в папке с програмой файл типа .ехе
Суть проблемы совсем в другом -- например, в неправильном подходе. Никогда не создавай эти самые exe-файлы в рабочих каталогах самой среды разработки -- это дурной вкус (объяснять долго, почему -- спроси это в том же топике по Trupo Pascal), если ты совсем не начинающий, то должен догадываться, что любая среда позволяет указывать, где по идее ей "нужон создать" результат своей компиляции. Ты же не станешь, например, справлять нужду прямо там же где живёшь (извиняюсь за грубый аналог). И ещё -- этот самый Trupo Pascal можно вообще не ставить, а просто скопировать несколько ключевых файлов куда тебе надо, немного поднастроить и всё будет пучком

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3659 | Зарегистр. 08-02-2003 | Отправлено: 02:16 11-02-2009
error1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как заставить открытый текстовый файл выполнять программу на Паскале записанную в него? Заранее спасибо!
Uses Crt, Dos;
Var F : Text;
   Ch : Char;
    s:string;
Begin
 clrscr;
 write('Open file:>');read(s);
 Assign(F,s);
 Reset(F);
 While Not EOF(F) Do
 Begin
  Read(F, ch);
  Write(ch);
 End;
 
End.

Всего записей: 7 | Зарегистр. 20-02-2009 | Отправлено: 22:32 20-02-2009
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
error1
Цитата:
Как заставить открытый текстовый файл выполнять программу на Паскале записанную в него?
Что за хрень? Переведи на русский. Текстовые файлы не могут ничего выполнять

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3659 | Зарегистр. 08-02-2003 | Отправлено: 22:44 20-02-2009
error1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему-это не могут. А если заставить. А как тогда работают исполняемые файлы приложений?

Всего записей: 7 | Зарегистр. 20-02-2009 | Отправлено: 21:35 21-02-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Turbo Pascal проблема - помогите, плиизз!


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru