Показать сообщение отдельно
Старый 28.03.2010, 10:46   #25
WaReZ_MEN
Модератор
 
Регистрация: 20.06.2006
Сообщений: 363
Написано 24 полезных сообщений
(для 44 пользователей)
Ответ: Нужна помошь)

im_zorg, ты жешь нафига использовать переменную типа
map: shortstring;
shortstring имеет максимально доступную длину 255 символов. а так как ты в переменную пытался всунуть 500 существенно они не лезли...
Использовал бы вообще число (Integer)


procedure TForm1.Button1Click(Sender: TObject);
begin
    bmp:=TBitmap.Create;
    bmp.LoadFromFile('map.bmp');
    if (bmp.Width>1000) or (bmp.Height>1000) then MessageBox(0,'Bitmap is too big!', nil, MB_OK or MB_ICONEXCLAMATION);
    AssignFile(f,'map.txt');
    Rewrite(f);
    for j:=0 to bmp.Height-1 do
    begin
      map:='';
      for i:=0 to bmp.Width -1 do
      begin
        c:=bmp.Canvas.Pixels[i,j];
        case c of
        $000000: map:='0';  // черный
        $0000FF: map:='1';  // красный
        $00FF00: map:='2';  // зеленый
        $00FFFF: map:='3';  // желтый
        $FF0000: map:='4';  // синий
        $FF00FF: map:='5';  // фиолетовый
        $FFFF00: map:='6';  // бирюзовый
        $FFFFFF: map:='7';  // белый
        end;
    WriteLn(f,map);
      end;
      
    end;
    CloseFile(f);
    halt;
end;
P.S. Дельфи у меня щас не установлена писал в блокноте но все должно работать.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
im_zorg (31.03.2010)