На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
В этом разделе можно создавать темы, которые относятся к поколению 32-битных компиляторов.
Здесь решаются вопросы портирования кода из старого доброго Турбо Паскаля в FPC, TMT, VP, GPC компиляторы, а также особенностей программирования на них для Windows/Linux и других ОС.
Указывайте тип компилятора, его версию, а также платформу (Windows/Linux/..) компиляции, другими словами, Target.
Модераторы: volvo877
  
> Ошибки при компилировании в Lazarus при Win32 , Извините, что создаю тему, просто я искал в других темах и не нашел.. дело вот в чем..
    я только что начал
    изучать Free Pascal и Lazarus. И по учебнику делаю задание и мне выводит ошибку при компиляции в первой строке.

    ExpandedWrap disabled
      procedure TForm1 . But ton1Click ( Sender : TObject ) ;
      var
      pud , funt : integer ;
      kg : real ;
      begin
      pud:=St rToInt ( Edi t1 . Text ) ;
      funt :=St rToInt ( Edi t2 . Text ) ;
      kg:=pud*16.38+ funt*16.38/40 ;
      Label4 . Caption:= ’В_килограммах:_’+FloatToSt r ( kg ) ;


    все по учебнику перепроверил. все символ в символ, а компилировать не хочет, пишет ошибки
    ExpandedWrap disabled
      unit1.pas(38,2) Error: Illegal expression
      unit1.pas(38,12) Fatal: Syntax error, ";" expected but "identifier TFORM1" found

    помогите пожалуйста. незнаю как быть. :wall:
    Сообщение отредактировано: volvo877 -
      Ошибка - в коде выше, где-то либо не тот раздел указан, либо не хватает чего-то... Покажи весь код...

      И потом... У тебя вот эти пробелы среди слов что, прямо в коде тоже присутствуют? Их не должно быть. Или ты перепечатываешь сюда? Не надо этого делать. Копируй. Так больше вероятности, что не внесешь еще и во время задавания вопроса ошибку...
        ExpandedWrap disabled
          unit Unit1;
           
          {$mode objfpc}{$H+}
           
          interface
           
          uses
            Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
            StdCtrls;
           
          type
           
            { TForm1 }
           
            TForm1 = class(TForm)
              Button1: TButton;
              Edit1: TEdit;
              Edit2: TEdit;
              Label1: TLabel;
              Label2: TLabel;
              Label3: TLabel;
              Label4: TLabel;
              procedure Button1Click(Sender: TObject);
            private
              { private declarations }
            public
              { public declarations }
            end;
           
          var
            Form1: TForm1;
           
          implementation
           
          { TForm1 }
           
          begin
           procedure TForm1.But ton1Click(Sender:TObject);
          var
          pud,funt:integer;
          kg:real;
          begin
          pud:=StrToInt(Edit1.Text );
          funt:=StrToInt(Edit2.Text);
          kg:=pud*16.38+funt*16.38/40;
          Label4.Caption:=’В_килограммах:_’+FloatToStr(kg);
          end;
           
          initialization
            {$I unit1.lrs}
           
          end.




        вот весь полностью код

        Добавлено
        ах даа... пробелы после компиляции(после ее попытки)появились. и если возможно, то покажите наглядно, где и что неправильно. просто я в терминах пока что тупой.. пару дней, как учу всего лишь..
        Сообщение отредактировано: volvo877 -
          begin в строке №37 - лишний. Убери его, и все заведется... Апострофы тоже замени на прямые ( 'вот такие' ). Пользуйся подсветкой, ее не просто для красоты продумали, ведь ясно видно, что твоя "В_килограммах:_" за строку не считается... Считается - когда подсвечена, как строка:

          ExpandedWrap disabled
            unit Unit1;
             
            {$mode objfpc}{$H+}
             
            interface
             
            uses
              Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
              StdCtrls;
             
            type
             
              { TForm1 }
             
              TForm1 = class(TForm)
                Button1: TButton;
                Edit1: TEdit;
                Edit2: TEdit;
                Label1: TLabel;
                Label2: TLabel;
                Label3: TLabel;
                Label4: TLabel;
                procedure Button1Click(Sender: TObject);
              private
                { private declarations }
              public
                { public declarations }
              end;
             
            var
              Form1: TForm1;
             
            implementation
             
            { TForm1 }
             
            procedure TForm1.Button1Click(Sender:TObject);
            var
              pud,funt:integer;
              kg:real;
            begin
              pud:=StrToInt(Edit1.Text );
              funt:=StrToInt(Edit2.Text);
              kg:=pud*16.38+funt*16.38/40;
              Label4.Caption:='В_килограммах:_'+FloatToStr(kg);
            end;
             
            initialization
              {$I unit1.lrs}
             
            end.
          Видишь разницу в цвете?
            да!! огромное спасибо!! все получилось)) подозревал ведь, что begin не к месту, но удалять не решался.. и с апострофами спасибо!! :rose: :D

            Добавлено
            извиняюсь за отдельные сообщения :oops: просто к аське привык.. и кнопки типа "дополнить" не найду.. еще раз простите.

            P.s. не удаляйте пожалста тему. я буду по мере наобходимости помощи обращаться к Вам. спасибо))
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0326 ]   [ 16 queries used ]   [ Generated: 23.06.25, 00:04 GMT ]