Помощь начинающему
Модератор: Модераторы
Ребята.кто знает.Я уже замаялся.Требуется сменить иконку в программе Лазаруса.Ну чтоб моя программа в папке была не с синим кошачьим ногтем,а с каким-нить цветком или еще чего там.Захожу в свойства проекта там где меняются иконки.Удаляю их коготь и даю ссылку на свою картинку.Вроде принимает.Проблемы начинаются при компиляции.Пишет "не могу скомпилировать ресурс".Выбрасываешь иконку вообще - дело идет.Пробовал уже разные форматы и размеры,разные папки с картинками.Все то же.Что за х..нь? Глюки Лазаруса или я что-то не так делаю? Спасибо.
- Little_Roo
- энтузиаст
- Сообщения: 639
- Зарегистрирован: 27.02.2009 18:56:36
- Откуда: Санкт-Петербург
Размер выдерживаем 32х32 ??? Или формат графики левый...или битый... 
Размер дал уже 30х30.Пробовал форматы JPG,BMP,ICO,PNG.Кстати,загрузчик в строке перечисления допустимых форматов именно их и перечисляет.А под родным лазаровским лаптем в квадратике есть шкала с ползунком,которая позволяет растягивать эту иконку аж на 256х256.Кому нужны такие большие иконки? Кстати посмотрел файл ICO этого самого лазаровского лаптя программой MediaInfo. Так там оказался целый пакет иконок разных размеров.
А в моем случае я все вроде сделал правильно.И графика вроде не битая,вьюверы видят ее без вопросов.И не могут же все форматы быть битыми! Это нонсенс. Отладчик английским пишет,что проблема компиляции файла ресурсов.Для более полной информации воспользуйтесь -vt. Куда ее эту -vt сунуть? Еще напишу че-нибудь,что слетит даже то,что есть.Вобщем такая вот морока.
А в моем случае я все вроде сделал правильно.И графика вроде не битая,вьюверы видят ее без вопросов.И не могут же все форматы быть битыми! Это нонсенс. Отладчик английским пишет,что проблема компиляции файла ресурсов.Для более полной информации воспользуйтесь -vt. Куда ее эту -vt сунуть? Еще напишу че-нибудь,что слетит даже то,что есть.Вобщем такая вот морока.
Leon, можете показать текст файла проекта (*.lpr)?
Пожалуйста.
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
{Interfaces,} // this includes the LCL widgetset
Forms, Unit1, unit2, Interfaces;
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
{$R *.res}
begin
Application.Title:='myprog';
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
На все это добро компилятор выдает вот что:
Compiling resource project1.or
project1.lpr(22,1) Error: Error while compiling resources. Compile with -vd for more details. Check for duplicates.
project1.lpr(22,1) Fatal: There were 1 errors compiling module, stopping
Поди-ка разберись чего он хочет.22-я строка как раз и есть end.
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
{Interfaces,} // this includes the LCL widgetset
Forms, Unit1, unit2, Interfaces;
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
{$R *.res}
begin
Application.Title:='myprog';
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
На все это добро компилятор выдает вот что:
Compiling resource project1.or
project1.lpr(22,1) Error: Error while compiling resources. Compile with -vd for more details. Check for duplicates.
project1.lpr(22,1) Fatal: There were 1 errors compiling module, stopping
Поди-ка разберись чего он хочет.22-я строка как раз и есть end.
Это какая-то старая версия Лазаруса, новые не пишут {$R project1.rc}
Leon, попробуйте закомментировать строку
Код: Выделить всё
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}Здравствуйте.
Подскажите, модуль "TlHelp32" можно заменить на "JwaTlHelp32" или может чем-то другим? (сам TlHelp32 не нашел)
Подскажите, модуль "TlHelp32" можно заменить на "JwaTlHelp32" или может чем-то другим? (сам TlHelp32 не нашел)
Да,действительно.Программу писал еще на старых Лазарусах.Поэтому код еще их.Теперь стоит 1.0.4 Вот он и выдает эти фокусы.Самое интересное,что буквально сегодня завел новый проект,сунул туда картинку 80х120 и все прошло как по-салу.Никто даже и не возмутился о каких-либо размерах.Программа сама переработала иконку под приемлемые размеры.А вот старая программа почему-то неспособна к сим трюкам.Ругается компилятор и все... 
Здравствуйте.Такая вот задачка.Накатал я праздниками программку,которая обслуживает АЦП.Это определенная аппаратная заморочка: инициализация интерфейсов,портов и проч.Вобщем все работает,если ... Если вдругна пару секунд пропадет свет или даже пройдет сетевая помеха,аппарат зависает.Требуется заново перезапускать программу,чтобы все восстановить.
ВОПРОС: Нельзя ли как-то изнутри программы избежать этой напасти,т.е. делать рестарт этой же программы изнутри самой программы? Похоже на "масло масляное",ну а вдруг есть такой программный фокус... Подскажите,уважаемые эксперты.
ВОПРОС: Нельзя ли как-то изнутри программы избежать этой напасти,т.е. делать рестарт этой же программы изнутри самой программы? Похоже на "масло масляное",ну а вдруг есть такой программный фокус... Подскажите,уважаемые эксперты.
Этот "программный фокус" делается очень просто - Источник Бесперебойного Питания. Программирование в Вашем случае даже рядом не валялось. 
Увы я тоже ни к чему лучшему не догадался.Пришлось приобрести ИБП...
Теперь следующая задачка.Есть некоторые стандартные цвета С1 и С2.И есть цвет опытного образца ExColor.Все естественно TColor.Требуется программно определить (ну,скажем в %) к какому цвету из двух стандартных ближе опытный образец.Мои мысли:
1.Сравнивать десятичные числа цветов ExColor с С1 и С2.
2.Сравнивать по компонентам R c R,G c G,B c B. Но тогда как все свести воедино? Пропорции ведь окажутся разными,а как сделать вывод о схожести в цифровом виде?
Теперь следующая задачка.Есть некоторые стандартные цвета С1 и С2.И есть цвет опытного образца ExColor.Все естественно TColor.Требуется программно определить (ну,скажем в %) к какому цвету из двух стандартных ближе опытный образец.Мои мысли:
1.Сравнивать десятичные числа цветов ExColor с С1 и С2.
2.Сравнивать по компонентам R c R,G c G,B c B. Но тогда как все свести воедино? Пропорции ведь окажутся разными,а как сделать вывод о схожести в цифровом виде?
Надо вычислить среднеарифмитическое у цветов С1 и С2, и сравнивать с ним ExColor. По любому кто-то, С1 или С2 больше другдруга. Вот и смотрите, если ExColor меньше среднеарифметического, значит этот цвет ближе к меньшему цвету, если больше, то ближе к большему. 
Где ошибка?
program pomylka;
uses crt;
var i,a:real;
BEGIN
clrscr;
for i:=8 to 10 do
a:=sin(i);
reADLN;
END.
Добавлено спустя 3 минуты 2 секунды:
Что то не так работает. Слово не выдает.
program for26;
{ Заданы 2 слова a и b. Можно ли получить из слова a,
вычеркивание некоторого кол-ва букв, слово b. }
uses crt;
var i,j,m,n : integer;
a,b,d,e : string;
begin
clrscr;
write('введите текст a=');readln(a);
write('введите текст b=');readln(b);
n:=length(a);m:=length(b);e:=b;
if n<m then halt;
for i:=1 to n do
for j:=1 to m do
if a[i]=b[j] then begin
d:=d+a[i];
delete(b,j,1);
end;
if d=e then write('Да')
else write('Нет');
readln;
end.
program pomylka;
uses crt;
var i,a:real;
BEGIN
clrscr;
for i:=8 to 10 do
a:=sin(i);
reADLN;
END.
Добавлено спустя 3 минуты 2 секунды:
Что то не так работает. Слово не выдает.
program for26;
{ Заданы 2 слова a и b. Можно ли получить из слова a,
вычеркивание некоторого кол-ва букв, слово b. }
uses crt;
var i,j,m,n : integer;
a,b,d,e : string;
begin
clrscr;
write('введите текст a=');readln(a);
write('введите текст b=');readln(b);
n:=length(a);m:=length(b);e:=b;
if n<m then halt;
for i:=1 to n do
for j:=1 to m do
if a[i]=b[j] then begin
d:=d+a[i];
delete(b,j,1);
end;
if d=e then write('Да')
else write('Нет');
readln;
end.
