Показать сообщение отдельно
Старый 02.11.2011, 23:39   #10
barsunduk
ПроЭктировщик
 
Аватар для barsunduk
 
Регистрация: 09.05.2010
Адрес: рф ро шахты
Сообщений: 177
Написано 66 полезных сообщений
(для 271 пользователей)
Ответ: Помогите исправить ошибку



вот примерчик для любого разрешения

// progress sample for leonid
// (c) barsunduk
// 02.11.2011

program carload;

var
    
car: image;
    
i, scrW, scrH: integer;

// на входе состояние прогресса
// от 0 до scrW (ширина экрана)
procedure progress(x: integer);
var
    
w, h, y: integer;
    
s: string;
begin
    w 
:= GetImageWidth(car);
    
h := GetImageHeight(car);
    
y := scrH - h - h;
    
// очищается полоса с машинкой
    
SetColor(0, 0, 0);
    
FillRect(0, y, scrW, h);
        
// это можно удалить
        // тут полоска зеленая рисуется с процентами
        
SetColor(0, 170, 0);
        
FillRect(0, y, x, h);
      
SetColor(240, 255, 240);
        
s := 'loading... ' + (100 * x / scrW) + '% ';
        
DrawText(s, x - GetStringWidth(s), y + h - GetStringHeight(s));
        
// для жирности
        
DrawText(s, 1 + x - GetStringWidth(s), y + h - GetStringHeight(s));
    
// рисуется машинка    
    
DrawImage(car, x, y);
end;

begin
    car 
:= loadImage('/car.png');
    
scrW := GetWidth;
    
scrH := GetHeight;
    
SetColor(0, 0, 0);
    
FillRect(0, 0, scrW, scrH);
    
// цикл с шагом в 2 пиксела
    
for i := 0 to scrW / 2 do
    
begin
        progress
(i * 2);
        
repaint;
        
delay(40);
    
end;
    
// очищаем память от ненужной картинки
    
car := loadImage('');
    
delay(2000);
end. 
в архиве тот же код
Вложения
Тип файла: zip carload.zip (12.6 Кб, 3443 просмотров)
__________________
to be or not to be - it's not a question!
2b or not 2b = ff
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо barsunduk за это полезное сообщение:
leonid (03.11.2011), midlet_pascal (28.01.2012)