Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2009, 12:56   #1
kinza
Новичок
Джуниор
 
Аватар для kinza
 
Регистрация: 07.06.2009
Сообщений: 13
По умолчанию помогите исправить ошибку

у меня задача на типизированный файл...Надо просто напечатать дату в след.виде: 12.3.1967 , 15.6.1945, ну и т.д. я написала код, но есть один косяк. когда я ввожу в Edit - ы числа, при запуске программы они автоматически меняются на другие(в смысле числа)...почему,не понимаю???

Код:
procedure TForm1.Button1Click(Sender: TObject);
type data=record
                  end;

var
    fl:TextFile;  //файл
Fname:string[80]; //имя файла
              chi: 1..31;
                 mes: 1..12;
                 god:1900..1999;
begin
Edit1.Text:=IntToStr(chi);
Edit2.Text:=IntToStr(mes);
Edit3.Text:=IntToStr(god);
      Fname:=Edit4.Text;
assignfile(fl,fname);
Append(fl); //открыть для записи в файл

            if (Length(edit1.text)=0) or (Length(edit2.text)=0) or    (Length(edit3.text)=0)

then ShowMessage('Ошибка ввода данных.'


+#13+'Bce поля должны быть заполнены.')

else writeln(fl, edit1.text,'.',edit2.text,'.',edit3.text);

               closefile(fl);  //закрыть файл
MessageDlg('Данные добавлены в файл',mtInformation,[mbOk],0);

end;
end.

Последний раз редактировалось Stilet; 09.06.2009 в 15:25.
kinza вне форума Ответить с цитированием
Старый 08.06.2009, 13:34   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Что то такое:
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
fl:TextFile;
Fname:string[80];
chi: 1..31;
mes: 1..12;
god:1900..1999;
begin
chi:= StrToInt(Edit1.Text);
mes:= StrToInt(Edit2.Text);
god:= StrToInt(Edit3.Text);

Fname:=Edit4.Text;
assignfile(fl,fname+'.txt');
Append(fl);

if (Length(edit1.text)=0) or (Length(edit2.text)=0) or (Length(edit3.text)=0)

then ShowMessage('Ошибка ввода данных.'


+#13+'Bce поля должны быть заполнены.')

else writeln(fl, chi,'.',mes,'.',god);

closefile(fl);
MessageDlg('Данные добавлены в файл',mtInformation,[mbOk],0);

end;
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 08.06.2009, 14:12   #3
kinza
Новичок
Джуниор
 
Аватар для kinza
 
Регистрация: 07.06.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от spamer Посмотреть сообщение
Что то такое:
благодарю конечно за помощь...а вот насчёт быть проще....итак проста как 2 рубля....так что....

Цитата:
Сообщение от spamer Посмотреть сообщение
Что то такое:
и ксттати, я пробовала менять IntToStr на StrToInt.... компилятор выводит какую то ошибку((((

Последний раз редактировалось Stilet; 09.06.2009 в 15:25.
kinza вне форума Ответить с цитированием
Старый 08.06.2009, 14:57   #4
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
а вот насчёт быть проще....
Ха ха ха! Это не вам, это просто его подпись!!!
Цитата:
менять IntToStr на StrToInt.... компилятор выводит какую то ошибку((((
IntToStr - преобразовать число в строку
StrToInt - преобразовать строку в число
Конечно у вас так возникнет ошибка!
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 09.06.2009, 15:16   #5
kinza
Новичок
Джуниор
 
Аватар для kinza
 
Регистрация: 07.06.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от MalCer Посмотреть сообщение
Ха ха ха! Это не вам, это просто его подпись!!!

IntToStr - преобразовать число в строку
StrToInt - преобразовать строку в число
Конечно у вас так возникнет ошибка!
а что же тогда делать???не пойму(((
и спасибо за объяснение насчёт простоты :DDDD
kinza вне форума Ответить с цитированием
Старый 09.06.2009, 15:27   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а что же тогда делать?
Во-первых не работай с типом множества.
Замени chi: 1..31; на chi: word и остальные так же.
Во-вторых : Эти переменные вводить нужно. Ну или как минимум присвой им чего-нить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку! samuex Microsoft Office Word 1 24.02.2009 22:05
помогите исправить ошибку Temirlan Общие вопросы Delphi 2 20.02.2009 18:42
помогите исправить ошибку. RUSLAN13 Помощь студентам 1 25.12.2008 17:22
Помогите исправить ошибку artem_MG Паскаль, Turbo Pascal, PascalABC.NET 4 27.10.2008 17:42
Помогите исправить ошибку Булат Общие вопросы Delphi 3 25.04.2008 10:01