Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit biblioteca;
- interface
- uses crt;
- function escolhaChar (a,b:char; var e:boolean): boolean;
- function escolhaInt (x,y:integer): boolean;
- function escolhaReal (x,y:real; var e:boolean): boolean;
- function recebeInt (var e:boolean): integer;
- function recebeReal (var e:boolean): real;
- procedure abrirArq (var arq:file);
- procedure repeatReciveInt (var x:integer);
- procedure repeatReciveStr (var a:string);
- implementation
- {Repeat ReciveInt until there is no erro}
- procedure repeatReciveStr (var a:string);
- var
- error: boolean;
- begin
- repeat
- begin
- {$I-}
- readln(a);
- {$I+}
- error:= false;
- if (ioresult <> 0) then
- begin
- error:= true;
- writeln('Resposta Inválida!');
- write('Digite Novamente: ');
- end;
- end;
- until error = false;
- writeln
- end;
- {Repete RecebeInt até não dar erro}
- procedure repeatReciveInt (var x:integer);
- var
- error: boolean;
- begin
- repeat
- begin
- {$I-}
- read(x);
- {$I+}
- error:= false;
- if (ioresult <> 0) then
- begin
- error:= true;
- writeln('Resposta Inválida!');
- write('Digite Novamente: ');
- end;
- end;
- until error = false;
- writeln;
- end;
- {Abrir/Criar Arquivo}
- procedure abrirArq (var arq:file);
- begin
- {$I-}
- reset(arq);
- {$I+}
- if IOResult = 2 then
- begin
- rewrite(arq);
- end;
- seek(arq,filesize(arq));
- writeln(filepos(arq));
- end;
- (* Escolha Char *)
- function escolhaChar(a,b:char; var e:boolean): boolean;
- var
- r: char;
- erro1,erro2: boolean;
- begin
- {$I-}
- readln(r);
- {$I+}
- if (ioresult <> 0) then erro1:= true;
- if (r <> a) and (r <> b) then erro2:= true;
- if (erro1 = true) or (erro2 = true) then
- begin
- writeln('Resposta Inválida');
- end;
- if (erro1 = true) or (erro2 = true) then e:= true;
- if (erro1 = false) and (erro2 = false) then e:= false;
- if (r = a) then escolhaChar:= true;
- if (r = b) then escolhaChar:= false;
- end;
- (* Escolha Integer *)
- function escolhaInt(x,y: integer): boolean;
- var
- r: integer;
- erro1,erro2: boolean;
- begin
- {$I-}
- readln(r);
- {$I+}
- if (ioresult <> 0) then erro1:= true;
- if (r <> x) or (r <> y) then erro2:= true;
- if (erro1 = true) or (erro2 = true) then
- begin
- writeln('Resposta Inválida');
- end;
- if (r = x) then escolhaInt:= true;
- if (r = y) then escolhaInt:= false;
- end;
- {Escolha Real}
- function escolhaReal (x,y: real; var e:boolean): boolean;
- var
- r: real;
- erro1,erro2:boolean;
- begin
- {$I-}
- readln(r);
- {$I+}
- if (ioresult <> 0) then erro1:= true;
- if (r <> x) and (r <> y) then erro2:= true;
- if (erro1 = true) or (erro2 = true) then
- begin
- writeln('Resposta Inválida');
- end;
- if (erro1 = true) or (erro2 = true) then e:= true;
- if (erro1 = false) and (erro2 = false) then e:= false;
- if (r = x) then escolhaReal:= true;
- if (r = y) then escolhaReal:= false;
- end;
- {Erro ao digitar em campos INTEGER}
- function recebeInt(var e:boolean): integer;
- var
- r: integer;
- begin
- {$I-}
- readln(r);
- {$I+}
- e:= false;
- if (ioresult <> 0) then
- begin
- e:= true;
- writeln('Resposta Inválida');
- end;
- recebeInt:= r;
- end;
- {Erros ao digitar em campos REAL}
- function recebeReal(var e:boolean): real;
- var
- r: real;
- begin
- {$I-}
- readln(r);
- {$I+}
- e:= false;
- if (ioresult <> 0) then
- begin
- e:= true;
- writeln('Resposta Inválida');
- end;
- recebeReal:= r;
- end;
- begin
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement