Показать сообщение отдельно
  #8  
Старый 05.10.2012, 09:29
delicious777 delicious777 вне форума
Прохожий
 
Регистрация: 04.10.2012
Сообщения: 6
Репутация: 10
Смех

УРААА Проблема решена))) Заменили код на:
Код:
 procedure TForm20.nom_eKeyPress(Sender: TObject; var Key: Char);  
var seriya,nomer:string;
  begin
    if not (key in [#48..#57,#13,#08]) then key := #0;            
  begin
    if key=#13 then
  begin
    if (length(ser1_e.Text)<2) or (length(nom_e.Text)<6) then 
      begin
        showmessage('Заполните необходимые поля!');
      end else
            begin
              if (length(ser2_e.Text)=0) then                    
              begin
              s1:=ser1_e.Text;
                nom:=nom_e.Text;
                  label_seriya.Caption:=s1;
                label_nomer.Caption:=nom;
               end else                                             
              begin
              s1:=ser1_e.Text;
                s2:=ser2_e.Text;
              nom:=nom_e.Text;
            label_seriya.Caption:=s1+'-'+s2;
          label_nomer.Caption:=nom;
           end;
     st1:=chr(39)+AnsiUpperCase(label_seriya.Caption)+chr(39);     
     st2:=chr(39)+AnsiUpperCase(label_nomer.Caption)+chr(39);
          t.Active:=false; q.Close;
          q.SQL.Text:='select ser, nom from tick where ser='+st1+' and nom='+st2;   
          t.StartTransaction; q.Open;
            if q.IsEmpty then
            begin
            ShowMessage('Такого билета нет среди призовых.');
            t.Rollback;
            exit;
     end  else
            q.SQL.Text:='select ser, nom from ticket_used where ser='+st1+' and nom='+st2;
            t.Active:=false; q.Close;
            t.StartTransaction; q.Open;
            if not q.IsEmpty then
            begin
            ShowMessage('По этому билету уже получали подарок.');
            t.Rollback;
            exit;
     end  else
            begin
            t.Active:=false; q.Close;
            q.SQL.Text:='select ser, nom from tick where ser='+st1+' and nom='+st2;   
            t.StartTransaction; q.Open;
            mainf.label_ser.Caption:=q.FieldByName('ser').AsString;
            mainf.label_nom.Caption:=q.FieldByName('nom').AsString;
            seriya:=mainf.label_ser.Caption;
            nomer:=mainf.label_nom.Caption;
            mainf.ticket.Caption:=seriya+nomer;
            form20.Close;
            exit;
          end;
  end;
end;
  begin                                                           
    if key=#08 then
      begin
       if (length(nom_e.Text)=0) then
        begin
          ser2_e.SetFocus;
            ser2_e.SelStart:=Length(ser2_e.Text);
        end;
      end;
    end;
  end;
end;
Ответить с цитированием