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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2014, 16:51   #1
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию проблема с LASARUS

Проблема с LASARUS у меня возникла
Вот код
Код:
unit AE_Main;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  Buttons, Menus, ComCtrls, PopupNotifier, StdCtrls, ActnList, ValEdit,
  ae_NewSize, iniFiles;

type

  { TForm1 }

  TForm1 = class(TForm)
    Memo1: TMemo;
    MenuItem6: TMenuItem;
    New_Size_Maps: TAction;
    Add_Tiles: TAction;
    Load_Maps: TAction;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    MenuItem5: TMenuItem;
    Save_Maps: TAction;
    ActionList1: TActionList;
    Label1: TLabel;
    MainMenu1: TMainMenu;
    PageControl1: TPageControl;
    RadioGroup1: TRadioGroup;
    ScrollBox1: TScrollBox;
    ScrollBox2: TScrollBox;
    SelectDirectoryDialog1: TSelectDirectoryDialog;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    procedure Add_TilesExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure New_Size_MapsExecute(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  TilesImage:TImage;
  BoolPeremewenieImage:Boolean;
  PathArrayKartinka:Array of String;
  Path:String;
  MaxTypes:Integer;
  MaxTypesOR:Array of Integer;
  TypeTiles, TypeTileOR:Integer;
  ini:TIniFile;
implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
  SR: TSearchRec;
  Vint:Integer;
  i:Integer;
begin
  Path:=ExtractFilePath(ParamStr(0));
  BoolPeremewenieImage:=False;
  Vint:=0;
  Memo1.Lines.Add('[Загрузка путей тайлов]');
  if FindFirst(Path + 'Sprites\*.png', faAnyFile, SR) = 0 then
  begin
     repeat
       if (SR.Attr <> faDirectory) then
       begin
         Vint:=Vint+1;
         SetLength(PathArrayKartinka, Vint);
         PathArrayKartinka[Vint-1]:=Path+'Sprites\'+SR.Name;
         Memo1.Lines.Add('Имя переменной Тайла '+IntToStr(Vint)+' = '+PathArrayKartinka[Vint-1]);
       end;
     until FindNext(SR) <> 0;
     FindClose(SR);
   end;
   ini:=TIniFile.Create(Path+'Sprites\Param.ini');
   MaxTypes:=ini.ReadInteger('Param0','MaxTypes',0);
   SetLength(MaxTypesOR, MaxTypes);
   For i:= 0 to MaxTypes-1 do begin
     MaxTypesOR[i]:=ini.ReadInteger('Param0_'+IntToStr(i),'MaxTypesOR',0);
   end;
   ini.free;

end;

procedure TForm1.Add_TilesExecute(Sender: TObject);
begin
  TilesImage:=TImage.Create(ScrollBox2);
  TilesImage.Parent:=ScrollBox2;
  BoolPeremewenieImage:=True;
end;

procedure TForm1.New_Size_MapsExecute(Sender: TObject);
var
  NewSiseMapsModal : TModalResult;
begin
  NewSiseMapsModal :=Form2.ShowModal;
  If NewSiseMapsModal = mrok then begin
    ScrollBox2.Width:=aeSizeWidth;
    ScrollBox2.Height:=aeSizeHeight;
  end;
end;

end.
А вот что я получаю

Код:
[Загрузка путей тайлов]
Имя переменной Тайла 1 = D:\?????? ??\Sprites\0_0_0.png
Имя переменной Тайла 2 = D:\?????? ??\Sprites\0_1_0.png
Имя переменной Тайла 3 = D:\?????? ??\Sprites\0_1_1.png
Имя переменной Тайла 4 = D:\?????? ??\Sprites\0_1_2.png
Имя переменной Тайла 5 = D:\?????? ??\Sprites\0_1_3.png
Имя переменной Тайла 6 = D:\?????? ??\Sprites\0_2_0.png
Имя переменной Тайла 7 = D:\?????? ??\Sprites\0_2_1.png
Имя переменной Тайла 8 = D:\?????? ??\Sprites\0_2_2.png
Имя переменной Тайла 9 = D:\?????? ??\Sprites\0_2_3.png
Имя переменной Тайла 10 = D:\?????? ??\Sprites\0_3_0.png
Имя переменной Тайла 11 = D:\?????? ??\Sprites\0_3_1.png
Имя переменной Тайла 12 = D:\?????? ??\Sprites\0_3_2.png
Имя переменной Тайла 13 = D:\?????? ??\Sprites\0_3_3.png
Alexandr17 вне форума Ответить с цитированием
Старый 27.02.2014, 17:13   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Значит в пути содержится кирилица, которую не понимает компонент Лазаруса.
FaTaL вне форума Ответить с цитированием
Старый 27.02.2014, 17:14   #3
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

Делфи 7 же ее понимает как исправить
Alexandr17 вне форума Ответить с цитированием
Старый 27.02.2014, 18:17   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Компоненты лазаруса Юникодные. Так что используй функции AnsiToUtf8() Utf8toAnsi() возможно Utf8ToConsole()
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.02.2014, 18:20   #5
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

Непонял какую именно
Alexandr17 вне форума Ответить с цитированием
Старый 27.02.2014, 18:27   #6
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

Все 3 попробывал не испровляет ошибки
Alexandr17 вне форума Ответить с цитированием
Старый 27.02.2014, 22:03   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

так, в порядке предположения:
попробуйте переменную Path описать как AnsiString:
вместо
Цитата:
Код:
Path:String;
Код:
Path:AnsiString;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.02.2014, 22:05   #8
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

Я уже исправил проблему
Alexandr17 вне форума Ответить с цитированием
Старый 27.02.2014, 22:15   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Alexandr17 Посмотреть сообщение
Я уже исправил проблему
и в чём же она была?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите плиз реализовать в Lasarus! Изобразить удаляющийся квадрат, определенных размеров, размещенный в центре экрана. soso1 Помощь студентам 1 15.10.2013 18:45
Неблокирующий сокет Си проблема с закрытием, проблема с закрытием сокетов в цикле mnx_vol C/C++ Сетевое программирование 0 06.11.2012 13:57
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37