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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2013, 15:00   #1
Killall
Новичок
Джуниор
 
Регистрация: 25.01.2013
Сообщений: 5
По умолчанию Имеется код

День добрый, господа программисты. Тема такая: друг сбросил вчера мне код программы на delphi, но этот код нужно отредактировать.. В силу моих кривых рук, я сделать этого не смог. Код маленький.... Очень нужна помощь, а то начальство завтра сожрет нафиг..)
Killall вне форума Ответить с цитированием
Старый 25.01.2013, 15:14   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

ну а код то покажешь?
или угадывать ? )))
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 25.01.2013, 15:15   #3
Killall
Новичок
Джуниор
 
Регистрация: 25.01.2013
Сообщений: 5
По умолчанию

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label2: TLabel;
    Button1: TButton;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const Digit:set of char=['0','1'];

var
  Form1: TForm1;
  per,o:integer;
  s:string;
  a,b:array[1..100]of string;
  c:array[1..100]of byte;
implementation

{$R *.dfm}

procedure summ();
var  ost,ost2,i,d,j:integer;
      l:string;
begin
for j:=1 to o do BEGIN
l:='';
ost:=0;
for i:=4 downto 1 do begin
d:=(ord(a[j][i])-ord('0'))+(ord(b[j][i])-ord('0'))+ost;
ost:=d div 2;
d:=d mod 2;
l:=char(d+ord('0'))+l;
end;
a[j]:=l;
l:='';
if per<>0 then begin
ost2:=0;
per:=0;
b[j]:='0001';
for i:=4 downto 1 do begin
d:=(ord(a[j][i])-ord('0'))+(ord(b[j][i])-ord('0'))+ost2;
ost2:=d div 2;
d:=d mod 2;
l:=char(d+ord('0'))+l;
end;
a[j]:=l;
if ost2=1 then ost:=1;
end;
if ost=1 then begin
c[j]:=1;
per:=1;
ost:=0;
end;
if (a[j]='1010')or(a[j]='1011')or(a[j]='1100')or(a[j]='1101')or(a[j]='1110')or(a[j]='1111') then
c[j]:=1;
end;
end;







procedure TForm1.Button1Click(Sender: TObject);
var s1,s2,s3,s4:string;
i,n:integer;
begin
per:=0;
s1:=Form1.Edit1.Text;
s2:=Form1.Edit2.Text;
if (s1='') or (s2='') then exit;
for i:=1 to length(s1) do
if not(s1[i] in Digit) then begin
Form1.Label3.Visible:=true;
exit;
end;
for i:=1 to length(s2) do
if not(s2[i] in Digit) then begin
Form1.Label3.Visible:=true;
exit;
end;
Form1.Label3.Visible:=false;
while length(s1) mod 4<>0 do
  s1:='0'+s1;
while length(s2) mod 4<>0 do
  s2:='0'+s2;
if length(s1)>length(s2) then
while length(s2)<length(s1)
do s2:='0000'+s2
else
while length(s1)<length(s2) do
s1:='0000'+s1;
o:=length(s1)div 4;
for i:=1 to o do BEGIN
  a[i]:=copy(s1,length(s1)-3,4);
  b[i]:=copy(s2,length(s2)-3,4);
  c[i]:=0;
  delete(s1,length(s1)-3,4);
  delete(s2,length(s2)-3,4);
END;
summ;
for i:=1 to o do b[i]:='0000';
for i:=1 to o do
if c[i]=1 then begin
b[i]:='0110';
summ;
for n:=1 to o do b[n]:='0000';
end;
for i:=1 to o do
s:=a[i]+s;
if per<>0 then s:='1'+s;
i:=1;
while s[i]='0' do
delete(s,1,1);
Form1.Edit3.Text:=s;
for i:=1 to 100 do begin
a[i]:='';
b[i]:='';
end;
s:='';
end;

end.

Последний раз редактировалось Stilet; 25.01.2013 в 16:29.
Killall вне форума Ответить с цитированием
Старый 25.01.2013, 15:20   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

1. код оформляем тэгами
2. что с кодом не так-то ?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 25.01.2013, 15:24   #5
Killall
Новичок
Джуниор
 
Регистрация: 25.01.2013
Сообщений: 5
По умолчанию

Прости, про тэги не знал)
Ну а в коде я хотел убрать Label3 и ссылки на него, т.е. чтобы программа не проверяла корректность ввода. А оставить простое сложение.. И если можно, комментарии добавить....)
Killall вне форума Ответить с цитированием
Старый 25.01.2013, 15:36   #6
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
Прости, про тэги не знал)
ну раз не знал - теперь знаешь ... исправь соответственно 1й пост

Цитата:
Ну а в коде я хотел убрать Label3 и ссылки на него,
дык у тебя Label3 нигде и не фигурирует кроме как отображается\скрывается ... закоменти эти строки и все
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 25.01.2013, 15:50   #7
Killall
Новичок
Джуниор
 
Регистрация: 25.01.2013
Сообщений: 5
По умолчанию

Цитата:
дык у тебя Label3 нигде и не фигурирует кроме как отображается\скрывается
Так я и пытался сделать... Руки кривые) Программа сразу сбой выдает. видно не там удаляю...

Можешь исправить?
Killall вне форума Ответить с цитированием
Старый 25.01.2013, 15:55   #8
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Код:
...
{ for i:=1 to length(s1) do
if not(s1[i] in Digit) then begin
Form1.Label3.Visible:=true;
exit;
end;
for i:=1 to length(s2) do
if not(s2[i] in Digit) then begin
Form1.Label3.Visible:=true;
exit;
end;
Form1.Label3.Visible:=false; } ...
этот кусок кода можно убрать
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 25.01.2013 в 15:59.
Yurk@ вне форума Ответить с цитированием
Старый 25.01.2013, 16:16   #9
Killall
Новичок
Джуниор
 
Регистрация: 25.01.2013
Сообщений: 5
По умолчанию

Спасибо большое)
Killall вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имеется матрица_Т Leshiy1 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 09.01.2011 19:16
Паскаль помочь исправить блок-схему код имеется Renty Помощь студентам 1 29.12.2010 19:20
Прямоугольная матрица (Имеется: Код программы,условие и т.д.) GreX454 Общие вопросы C/C++ 1 30.03.2010 07:52
разработка игры "Реверси". Имеется код этой игры на С++ CD-RW Помощь студентам 0 28.03.2010 00:13
Имеется ли у вас какой ассемблерный код? rusell Помощь студентам 5 04.11.2009 16:11