Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RoD Gualberto

problemas com uses WinCrt;

Recommended Posts

estou pricisando de uma ajuda... http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

 

 

estou pricisando de fazer um programa de conversão de números e soma de números binários. Mas só encontro blocos de códigos com a uses WinCrt. E no code gear rad studio 2007 ñ está funfando. Dá esse erro = [DCC Error] Unit1.pas(7): F1026 File not found: 'WinCrt.dcu'.

 

alguem pode me ajudar ???

vai aí o código que estou tetando usar http://forum.imasters.com.br/public/style_emoticons/default/seta.gif

 

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,WinCrt, Buttons;

type
  TForm1 = class(TForm)
	BitBtn1: TBitBtn;
	Edit1: TEdit;
	Edit2: TEdit;
	procedure BitBtn1Click(Sender: TObject);
  private
	{ Private declarations }
  public
	{ Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.BitBtn1Click(Sender: TObject);

Var
  bin1, resposta,bin2, result, result_final: string [20];
  n1, n2, i,alg1, alg2, somabin, vai, vem, cont, erro: integer;




Begin
repeat
clrscr;
 Writeln ('   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
 Writeln ('				   Programa para somar números Binários!!!!!');
 Writeln ('   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
 writeln;
 result_final:='';  {zero esta variável, pois quando o loop é feito a resposta anterior fica armazenada e é repetida}
 result:= '';
 Write ('   Digite o 1º número:  ');
 readln (n1);
 str (n1, bin1);
 for i:=1 to length(bin1) do   {este for foi criador para tratar o erro quando o usuário digitar um número não binário}
   if ( bin1[i] <> '0' ) and ( bin1[i] <>'1') then
	 begin
	   clrscr;
	   Writeln ('   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
	   Writeln ('				   Programa para somar números Binários!!!!!');
	   Writeln ('   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
	   writeln;
	   writeln ('   Lembrete: Números binários são compostos por zeros e uns!!!!');
	   write   ('   Redigite o número:   ');
	   readln(n1);
	   str (n1, bin1);  {transforma a variável numérica em uma string}
	 end;

 write ('   Digite o 2º Número:+ ');
 readln (n2);
 str (n2, bin2);
 for i:=1 to length(bin2) do   {este for também foi criador para tratar o erro quando o usuário digitar um número não binário}
   if ( bin2[i] <> '0' ) and ( bin2[i] <>'1') then
	 begin
	   clrscr;
	   Writeln ('   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
	   Writeln ('				   Programa para somar números Binários!!!!!');
	   Writeln ('   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
	   writeln;
	   writeln ('   Digite o 1º número:  ',n1);
	   writeln ('   Lembrete: Números binários são compostos por zeros e uns!!!!');
	   write   ('   Redigite o numero:   ');
	   readln(n2);
	   str (n2, bin2);  {transforma a variável numérica em uma string}
	 end;

 if length(bin1) > length (bin2) then   {outro problema que poderia ocorrer é um número digitado ser maior que o outro}
   repeat							   {portanto foi criado esse tratamento para colocar zeros quando não hover número}
	  bin2:= '0' + bin2;				{digitado pelo usuário do programa fazendo com que eles tenham o mesmo tamanho.}
   until length(bin1) = length (bin2)
 else
   if length(bin1) < length(bin2) then
	 repeat
	   bin1:= '0' + bin1;
	until length(bin1) = length(bin2);

 vem:=0;							  
 cont:= length(bin1);

 while cont >= 1 do
 begin
   val(bin1[cont], alg1, erro);	 {essa funcção (val) transforma uma string em um número inteiro, somente em inteiro}
   val(bin2[cont], alg2, erro);

	if (vem = 0) and (alg1 = 0) and (alg2 = 0) then	 {agora vem as condições que efetuam os testes das somas dos números}
	begin											   {se vai1,vem1, se é zero ou um, etc.}
	   vai := 0;			
	   somabin := 0;
	end
	else
	   if ((vem = 0) and (alg1 = 1) and (alg2 = 0)) or
		  ((vem = 0) and (alg1 = 0) and (alg2 = 1)) then
	   begin
		  vai := 0;
		  somabin := 1;
	   end
	   else
		  if ((vem = 0) and (alg1 = 1) and (alg2 = 1)) then
		  begin
			 vai := 1;
			 somabin := 0;
		  end
		  else
			 if (vem = 1) and (alg1 = 0) and (alg2 = 0) then
			 begin
				vai := 0;
				somabin := 1;
			 end
			 else
				if ((vem = 1) and (alg1 = 1) and (alg2 = 0)) or
				   ((vem = 1) and (alg1 = 0) and (alg2 = 1)) then
				begin
				   vai := 1;
				   somabin := 0;
				end
				else
				   if (vem = 1) and (alg1 = 1) and (alg2 = 1) then
				   begin
					  vai := 1;
					  somabin := 1;
				   end;

	str(somabin, result);	 {transforma o resulta em uma string para que possa ser invertido}
	result_final := result + result_final; {o número invertido é acumulado em result_final}
	vem := vai;
	cont:= cont - 1; {contador que para o estrutura de repetição}
 end;

 if vem = 1 then
	result_final := '1' + result_final; {trratamento de erro}
 writeln ('   ---------------------------');
 writeln ('   O total da soma é:  ', result_final);
 writeln;
 writeln ('				  +++++++++++++++++++++++++++++++++++++++++');
 writeln ('				   Quando desejar sair aperte a tecla ESC.');
 writeln ('				  +++++++++++++++++++++++++++++++++++++++++');
 resposta:=readkey;
until resposta = #27; {condição para sair do programa}




End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse código você pegou pronto e jogou no programa ou vez desde ele todo desde o começo?

 

Caso você tenha pego e jogado lá, possivelmente o seu programa não tem suporte ao wincrt, nesse caso tenta apagar ele do código e rodar o programa.

 

Eu me lembro que esse wincrt é usado pelo "Pascalzin" e quando a pessoa tentava usar o mesmo código no programa lá do pascal (esqueci o nome) ele n rodava tbm.

 

Qualquer coisa tenta aí.

 

Abraços! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.