none
Помогите разобраться пожалуйста RRS feed

  • Общие обсуждения

  • Помогите перевести исходный код моей программы написаной в Delphi под Windows mobile на Visual Studio.
    начал изучать буквально на днях. Вот чему только научился.
    -------------
    Public Class Form1

        Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
            InputPanel1.Enabled = True
        End Sub

        Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
            InputPanel1.Enabled = True
        End Sub

        Private Sub Button1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.GotFocus
            InputPanel1.Enabled = False
        End Sub

        Private Sub Form1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.GotFocus
            InputPanel1.Enabled = False
        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        End Sub
    End Class
    -----------------------------

    Код на Delphi------------------
    procedure TForm1.Button1Click(Sender: TObject);
     var
        e: real;  // Диаметр
        t: real;   // Шаг, как дробное число
        c: integer; // челое число
        d: integer; // дробное число
        v1,v2,v3,v4,v5,z,vt,v6: real;    // вычисления
    begin
    if Length(Edit1.Text) = 0 then  begin
    MessageDlg('Уважаемый!'#13#13'Введите Диаметр', mtError, [mbOK],0);
    Form1.Edit1.SetFocus; // курсор в поле ввода
    Exit;// завершить обработку события
    end;

    if Length(Edit2.Text) = 0 then  begin
    MessageDlg('Уважаемый!'#13#13'Введите Шаг резьбы', mtError, [mbOK],0);
    Form1.Edit2.SetFocus; // курсор в поле ввода
    Exit;// завершить обработку события
    end;

    // получить исходные данные из полей ввода
    e:= StrToFloat(Edit1.Text);
    t:= StrToFloat(Edit2.Text);
    // предварительные преобразования
    c:= Trunc(e);  // это целая часть числа e
    d:= Trunc(e/2) mod 10000; // это дробная часть числа e
    // вычисление
    v1:= e-0.649519053*t;
    v2:= e-1.082531755*t;
    v3:= e-1.226869322*t;
    z:= e-v2;
    v4:= z/2;
    //v4:= 0.54125*t;
    //z:= v4*2;
    v5:= 0.86603*t;
    vt:= tan ((30)*pi/180);
    v6:= ((t/2)*vt)*2;

    // вывод результата
    label1.Caption :='Средний диаметр: ' + FloatToStrF(v1,ffFixed,15,6) + '';
    label2.Caption :='Внутренний диаметр болта: ' + FloatToStrF(v2,ffFixed,15,6) + ' точить';
    label3.Caption :='Внутренний диаметр впадины: ' + FloatToStrF(v3,ffFixed,15,6) + '';
    label4.Caption :='Глубина врезания: ' + FloatToStrF(v4,ffFixed,15,6) + ' x 2 = ' + FloatToStrF(z,ffFixed,15,6);
    label5.Caption :='H высота треугольника: ' + FloatToStrF(v5,ffFixed,15,6) + '';
    label8.Caption :='Суммарная Величина врезания: ' + FloatToStrF(v6,ffFixed,15,6) + '';
    end;

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    case Key of
    '0'..'9': ; // цифра
     ',','.' : // точка или запятая
     begin
      Key := DecimalSeparator;
        if pos (DecimalSeparator,Edit1.Text)<>0 then key := Char (0);
        end;
       #8  :  ; // <Backspace>
    // остальные символы - запрещены
       else Key :=Chr(0);  // символ не отображать
      end;
    end;

    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
    case Key of
    '0'..'9': ; // цифра
     ',','.' : // точка или запятая
     begin
       Key := DecimalSeparator;
        if pos (DecimalSeparator,Edit2.Text)<>0 then key := Char (0);
        end;
       #8  :  ; // <Backspace>
    // остальные символы - запрещены
       else Key :=Chr(0);  // символ не отображать
      end;

    end;
    --------------------------

    • Изменен тип I.Vorontsov 15 декабря 2009 г. 8:43
    • Перемещено SachinW 1 октября 2010 г. 22:12 MSDN Forums Consolidation (От:Начинающие разработчики)
    20 ноября 2009 г. 16:35

Все ответы