У кого какие мысли?
как костыль можно дерективы поставить, как решение премер на 2 кнопки и в трекер.
Модератор: Модераторы
У кого какие мысли?
B4rr4cuda писал(а):Это работает также под GTK и GTK2.
Точнее работает, но не совсем коректно...
У кого какие мысли?
if [ "$lcl" = "qt" ]
then
rm interface.inc
echo "{\$DEFINE QT}">interface.inc
fi
{$I interface.inc}
{$IFDEF QT}
FFileOpDlg.UpdateDlg;
{$ELSE}
synchronize(@FFileOpDlg.UpdateDlg);
{$ENDIF}
#!/usr/bin/perl -w
`rm interface.inc;echo '{\$DEFINE QT\}'>interface.inc`;
@list=`ls *.pas`;
foreach (@list)
{
#удаляем левые символы и выставляем выходное расширение
$fon=$_;
$fon=~s/\n//;
$fon=$`;
$fon=~s/\r//;
`cp $fon $fon.bak`;
$fon=$`.".bak";
open( FIN,"<$fon");
open( FOUT,">$_");
while ($str=<FIN>)
{
$str=~s/\n//;
$str=$`;
$str=~s/\r//;
$str=$`;
#Включаем инклуд
$rez=$str=~m/\{\$H\+\}/;
if ($rez)
{
$str.="\n\{\$I interface.inc\}\n"
}
#поиск
$rez=$str=~m/.*Synchronize\(.*\@/;#@*
#если строка найдена
if ($rez)
{
#Присваиваем переменым найденые значеня
$func=$';
$sync=$&;
#Повторный поиск и отделяем мух от котлет
$rez=$func=~m/\)\;/;
if ($rez)
{
$func=$`;
$str= "{\$IFDEF QT}\n\t$func;\n{\$ELSE}\n\t$sync$func);\n{\$ENDIF}\n";
}
}
print FOUT "$str\n";
}
close(FIN);
close(FOUT);
}
while (I > 0) and not (FileName[I] in ['/', '\', ':']) do Dec(I);
Result := Copy(FileName, I + 1, MaxInt);
{ifdef linux}
while (I > 0) and not (FileName[I] in ['/', '\']) do Dec(I);
{else}
while (I > 0) and not (FileName[I] in ['/', '\', ':']) do Dec(I);
{endif}
Result := Copy(FileName, I + 1, MaxInt);
Может включить FindFirst/FindNext функции в DC, чтобы не зависеть от багов фпцешников?
Сриптик надо добавить в SVN.
Чтобы атрибуты под Линуксом возвращал не всякие там faReadOnly, faArchive (которые под Линуксом имеют мало смысла), а типа rwxrwxrwx.
B4rr4cuda писал(а):Сриптик надо добавить в SVN.
Только предупреждение о двойном запуске добавь, а то мешанина {$IFDEF} на выходе будет.
Чтобы атрибуты под Линуксом возвращал не всякие там faReadOnly, faArchive (которые под Линуксом имеют мало смысла), а типа rwxrwxrwx.
а может все таки выполнить скрипт один раз и все ? в будущем много еще каких директив может понадобиться только interface.inc переименовать в dc.inc хотя это не важно.
а можно переписать и отправить в фпц =)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1