В общем пытаюсь сделать экспорт текста из полей для ввода в doc и pdf . | Для Doc уже нашел , а как вообще собрать в PDF как сделать экспорт текста с настройкой шрифтов ( размер , цвет) . И вообще реально ли такое собрать для ppt ?
marsep, Lazarus чем не угодил? И Delphi это все же среда, а не язык. Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
Delphi это и среда разработки, и язык программирования одновременно. Lazarus основан на другом диалекте Паскаля, но имеет высокую степень совместимости с проектами Delphi.
Delphi это и среда разработки, и язык программирования одновременно.
Delphi диалект ObjectPascal, но очень схожий с ним. Ну в общем можно конечно выделить в отдельный язык. Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
Delphi диалект ObjectPascal, но очень схожий с ним. Ну в общем можно конечно выделить в отдельный язык.
Дело в том, что изначально Delphi позиционировалась только как среда разработки приложений Windows на ObjectPascal, но позже разработчики объявили Delphi самостоятельным языком. И если посмотреть на современный Delphi и сравнить с тем ObjectPascal, на котором он был основан - разница огромная...
Всем привет! В общем хочу написать зум для игры. Собсна просто зум который увеличивает все под мышкой я сделал, но как сделать чтоб приближение шло из игры? Вот что я сделал:
Вот примерно то, что мне надо
Может кто помочь, что нужно использовать и как употреблять это? Или скажите как можно сделать, чтобы зум сам на себя не реагировал и изображение бралось из под программы, а то если навести мышь на программу то содержимое программы увеличится и вместе сним еще раз и еще и так до бесконечности программа будет увеличивать сама себя.
Сообщение отредактировал Point - Пятница, 29 Марта 2013, 21:38
Point, прорисовываешь буфер как обычный кадр, копируешь его часть для увеличения, увеличиваешь, копируешь результат обратно в буфер, буфер выбрасываешь на экран. Остальное зависит от того, как ты рисуешь в буфер, что используешь.
Собственно, проблема бесконечного увеличения не возникнет, если используется двойной буфер, т.к. увеличивается изображение не на экране, а в заднем буфере. Экран и другие приложения вообще трогать не надо.
P.S. Рисование сразу на канвас формы через инкапсулированные функции не прокатит, для сложных игр это бесполезно. Можно либо мудрить с функциями winapi, либо переходить на opengl/directx.
Сообщение отредактировал TimKruz - Суббота, 30 Марта 2013, 00:34
Подскажите, практично ли использовать Lazarus в качестве среды разработки для создания игры текстового типа, но с большим количеством контента? Еще не подскажите какие-нибудь уроки по OpenGL для использования в нем? Можно ли в будущем в Lazarus портировать игру на IOS|Android?
Подскажите, практично ли использовать Lazarus в качестве среды разработки для создания игры текстового типа, но с большим количеством контента?
Ну ничего сложного или плохого в этом не будет. Нравится Lazarus - бери и работай...
Цитата (marsep)
Еще не подскажите какие-нибудь уроки по OpenGL для использования в нем?
Бери любой самоучитель/цикл уроков по OpenGL в Delphi. Правда, если тебе нужна кроссплатформенность, придётся разбираться ещё и с кроссплатформенными компонентами, специфичными для Lazarus, но для начала нужно научиться работать с самим OpenGL.
Цитата (marsep)
Можно ли в будущем в Lazarus портировать игру на IOS|Android?
Можно. Для этого придётся самому скомпилировать-собрать Lazarus для кросскомпиляции на необходимую платформу (можно заюзать CodeTyphon, всё автоматически собирает из исходников), настроить (инструкции на официальной вики или форуме поищи), и собственно создать сам проект, то есть есть некоторые нюансы для конкретных платформ (тоже на вики и форумах смотри, на вики есть инструкция по сборке Android-проекта на Lazarus).
Если честно, сам пытался на Lazarus собрать программку из демо-исходников самого Lazarus, но так ничего и не получилось. Короче, сплошной геморрой с кросскомпиляцией, информацию непросто о ней собрать и всякие неожиданные ошибки возникают, о которых ничего не сказано... Но зато когда разберёшься - потом легко будет всё делать...
Сообщение отредактировал TimKruz - Понедельник, 22 Апреля 2013, 18:11
Программа на делфи, чтобы считала сколько раз одна цифра встречается в числе. Помогите решить, что не так? Было:
Код
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses System.SysUtils;
Var n, i: Longint; k: integer; A: array[0..10] of byte;
begin writeln('Введите число : '); readln(n); i:=n; k:=0; while i<>0 do begin k:=K+1; i:=i div 10; end; writeln('В числе ',n,' - ',k, 'цифр!'); while n>0 do begin A [n mod 10]:=A[n mod 10]+1; n:=n div 10; End; for I := 0 to 9 do writeln('Цифра ',i,' встречается ',A[i],' раз(а)'); readln; end.
type TKursovaua = class(TForm) Edit: TEdit; Label1: TLabel; Label2: TLabel; LabelVvod: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Kursovaua: TKursovaua;
implementation
{$R *.dfm}
procedure TKursovaua.Button1Click(Sender: TObject); Var i,sum,count : integer; s: string; R: longint; begin s:=Edit.text; sum:=0; count:=0; for i:=1 to length(s) do begin count:=count+1; sum:=sum+ StrToInt(s[i]); end; ShowMessage(' Число =' + IntToStr(sum) +#13+ 'Встречается раз =' + IntTostr(count ));
end;
end.
Но так выдаёт только сумму и количество цифр. Как сделать, чтоб в ShowMessage выводилось какая цифра и сколько раз повторятеся?
Сообщение отредактировал sem6666 - Воскресенье, 09 Июня 2013, 04:47
type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
function CntChRepet(InputStr: string; InputSubStr: char): integer; var i: integer; begin result := 0; for i := 1 to length(InputStr) do if InputStr[i] = InputSubStr then inc(result); end;
procedure TForm1.Button1Click(Sender: TObject); var str, res: string; substr: Char; begin str := Edit1.Text;
while(Length(str) > 0) do begin substr := str[1]; res := res + 'Символ = ' + substr + ' повторяеться ' + IntToStr(CntChRepet(str, substr)) + ' раз' + #13#10; str := StringReplace(str, substr, '', [rfReplaceAll]); end;
Ты end в конце забыл, а ещё возможно добавление else. Кстати, case поддерживает только перечислимые типы, то есть целые числа, символы и другие, и не будет работать со строками, вещественными числами и им подобными...