Помощь - Поиск - Пользователи - Календарь
Полная версия: календарь
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Alpha7
День добрый, господа !
Подскажите плз как из stringовой переменной перевести в integer.
Записи вида 1.номер 2.начальная работа (01.01.2004) string3.промежуточная работа (10 дней)integer считываются из файла, необходимо найти время следующей работы путем сложения п.1 и п.2.
Заранее сенх !
klem4
Пример перевода из String в Integer :

uses crt;
var
s:string;
x,ErrCode,result:integer;

Begin
clrscr;
write('s='); readln(s);
val(s,x,ErrCode);
if ErrCode=0 then begin
Result:=x;
writeln('Result=',Result);
end
else writeln('ErrCode=',ErrCode);
end.



зы если введешь скажем 23g42 то вернет ErrCode = 3 (символ в котором ошибка)

зыы если сам не разберешься, задание попонятней напиши а то я ваще ничо не понял, кроме того что что-то надо в integer перводить... blink.gif
Alpha7
Суть в том что вводится стринговая переменная формата dd.mm.yyyy (01.01.2005), к ней нада пробавить н-ное кол-во дней дабы получить дату следующей работы (01.01.2004 + 34 дня) = 03.02.2004.
Как это реализовать ???
Alpha7

program zapisi;
uses crt;
const max = 3;
type
baza = record
nomer:byte;
nach_rab : string[11];
prom_rab : byte;
fin_rab : string[11];
end;

var
f:text;
r : baza;
i : byte;

begin
assign(f,'c:\a.txt');
reset(f);
clrscr;
while not eof(f) do
begin
readln (f,r.nomer);
readln (f,r.nach_rab);
readln (f,r.prom_rab);
if r.nomer>max then
begin
writeln('Error 0001 : Maximal nomber of lines owerride !');
readln;
halt;
end;
if ((ord(r.nach_rab[3]) or ord(r.nach_rab[6]))<>46) then
begin
writeln('Error 0002 : wrong begining date !');
readln;
halt;
end;

if length(r.nach_rab)>10 then
begin
writeln('Error 0003 : wrong beginig time line length ');
readln;
halt;
end;


writeln (r.nomer);
writeln (r.nach_rab);
writeln (r.prom_rab);

end;
readln;
end.




Пока есть тока ввод =)
Помогите плз !
volvo
Alpha7,
здесь посмотри, очень похожее задание: Вычисление конечной даты
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.