Вопрос № 62219: Здравствуйте уважаемые.
Подскажите пожалуйста какой внутренний фомат у файлов *.ico C каким смещением, какя информация. как он хранит цвета....Вопрос № 62224: Доброго времени суток. Подскажите, как программно узнать, куда ведет ярлык, в том числе и ярлык интернета....Вопрос № 62226: Здравствуйте эксперты! Вот задача
Дан массив из строчных латинских. Вывести на экран в алфавитном порядке все буквы, которые входят в этот массив один раз. Помогите сделать Желательно чтоб программа была интеллектуальной ( не моя прихоть) Пожалуй...Вопрос № 62244: Как создать файл типа:
type
r = record
a: array of string;
s: string;
n: word;
end;
...Вопрос № 62262: Здравствуйте, уважаемые эксперты!
У меня к вам вопрос:
На форме существуют 12 объектов TStringGrid.
Как с помощью одной функции в цикле заполнить эти 12 сеток данными (для примера "1"), а то получается очень громоздкий и неудобо...Вопрос № 62279: Здраствуйте. У меня есть класс TWater c параметрами x,y. Я создаю n копий это класса. И работаю с ними: Отрисовываю, изменяю y и x. Потом через некоторое время возникает ошибка "Stack overflow" При этом может быть любым. Все объекты создают...Вопрос № 62297:
Здраствуйте!
Подскажите какой-нибудь алгоритм шифрования, который может шифровать налету, и очень быстро.
А также быстрый алгоритм сжатия звука и обратный ему....Вопрос № 62298: Здравствуйте, уважаемые эксперты!!!! Подскажите, плиз, как с помощью одной кнопочки переключать закладки в PageControl, причем их очень много!!! Огромное спасибо заранее!!! ...Вопрос № 62306: Здравствуйте, уважаемые эксперты. К примеру, на форме имеется «Edit». Как сделать, чтобы во время выполнения программы, кликнув на нём правой кнопкой мыши, выбрать
пункт «Редактировать» и при этом «Edit» начинает вести себя также как во время проекти...
Вопрос № 62.219
Здравствуйте уважаемые.
Подскажите пожалуйста какой внутренний фомат у файлов *.ico C каким смещением, какя информация. как он хранит цвета.
Отправлен: 11.11.2006, 20:32
Вопрос задал: Monah (статус: 9-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, Monah!
Загляните вот по этой ссылке:
http://kainsk.tomsk.ru/g2003/sys26/oswin.htm
там отличная статейка как раз по формату ICO.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 12.11.2006, 05:35
Вопрос № 62.224
Доброго времени суток. Подскажите, как программно узнать, куда ведет ярлык, в том числе и ярлык интернета.
Отправлен: 11.11.2006, 21:15
Вопрос задал: Elpher2006 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Mo-skin
Здравствуйте, Elpher2006!
Ярлык для Инета имеет расщирение .url,
А НА САМОМ ДЕЛЕ ЭТО ПРОСТОЙ ТЕКСТОВЫЙ ФАЙЛ.
И посмотреть его можно например так:
Допустим есть п папке с прогой ярлык для инета "link"
Тогда кидаем на форму Memo1 и Кнопку1
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('link.url');
end;
Далее смотрим в мемо что получилось.
--------- Чем больше женщину мы меньше, тем больше меньше мы ее!
Ответ отправил: Mo-skin (статус: 2-ой класс)
Ответ отправлен: 11.11.2006, 21:50
Отвечает: Gh0stik
Здравствуйте, Elpher2006!
Советую Вам обратиться к помощи старого доброго DelphiWorld.
Удачи!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 13.11.2006, 12:08
Вопрос № 62.226
Здравствуйте эксперты! Вот задача
Дан массив из строчных латинских. Вывести на экран в алфавитном порядке все буквы, которые входят в этот массив один раз. Помогите сделать Желательно чтоб программа была интеллектуальной ( не моя прихоть) Пожалуйста...
Отправлен: 11.11.2006, 21:45
Вопрос задал: Whitesnake (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Томша Павел
Здравствуйте, Whitesnake!
Создаете массив размером латинского алфавита. Пробегаете по данному вам массиву (i - счетчик) и прибавлям элементу с номером (Ord(A[i])-Ord('a')) единицу. После этого проходите по своему массиву и выводите Chr(B[i]+Ord('a')), если B[i]=1.
Ответ отправил: Томша Павел (статус: 3-ий класс)
Ответ отправлен: 12.11.2006, 17:08 Оценка за ответ: 5
Отвечает: Gh0stik
Здравствуйте, Whitesnake!
Вот предлагаю такой вариант решения.... См. приложение...
Немного поясню:
1) в переменную sety заносим все элементы массива;
2) в переменную setn заносим все элементы массива, которые встречаются более одного раза;
3) sety:=sety-setn; - находим разность множеств и результат выводим на экран.
Заметьте никаких дополнительных сортировок я не использую да и зачем... :)
Удачи!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 13.11.2006, 10:04 Оценка за ответ: 5
Вопрос № 62.244
Как создать файл типа:
type
r = record
a: array of string;
s: string;
n: word;
end;
Отвечает: Маренич Владимир
Здравствуйте, Писарев, Павел, Юрьевич!
Никак. Так как в записи содержаться динамические структуры: строки и динамический массив. Два варианта:
1. Используете фиксированные типы данных, например:
r = record
a: array[1..100] of string[20];
s: string[60];
n: word;
end;
2. Организовать собственные процедуры записи и чтения Вашей структуры в бинарном виде, используя нетипизированный файл и вместо Write и Read вызывать их:
procedure MyWrite(f: file; rr: r);
var
i,k: integer;
begin
k:=Length(rr.a);
BlockWrite(f, k, SizeOf(k));
for i:=0 to k-1 do
begin
k:=Length(rr.a[i]);
BlockWrite(f, k, SizeOf(k));
if k<>0 then BlockWrite(f, rr.a[i][1], k);
end;
k:=Length(rr.s);
BlockWrite(k, SizeOf(k));
if k<>0 then BlockWrite(f, rr.s[1], k);
BlockWrite(f, rr.n, SizeOf(rr.n));
end;
procedure MyRead(f: file; var rr: r);
var
i,k: integer;
begin
BlockRead(f, k, SizeOf(k));
SetLength(rr.a, k);
for i:=0 to k-1 do
begin
BlockRead(f, k, SizeOf(k));
SetLength(rr.a[i], k);
if k>0 then BlockRead(f, rr.a[i][1], k);
end;
BlockRead(f, k, SizeOf(k));
SetLength(rr.s, k);
if k>0 then BlockRead(f, rr.s[1], k);
BlockRead(f, rr.n, SizeOf(rr.n));
end;
Думаю, идея понятна
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 12.11.2006, 01:00
Отвечает: Sattar
Здравствуйте, Писарев, Павел, Юрьевич!
Type=record
a:array[1..100] of string[255];
s:string[255];
n:word;
end;
.........
var
F: file of r;
Ответ отправил: Sattar (статус: 3-ий класс)
Ответ отправлен: 12.11.2006, 15:37
Вопрос № 62.262
Здравствуйте, уважаемые эксперты!
У меня к вам вопрос:
На форме существуют 12 объектов TStringGrid.
Как с помощью одной функции в цикле заполнить эти 12 сеток данными (для примера "1"), а то получается очень громоздкий и неудобочитаемый код!
Отвечает: Sattar
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,c:integer;
Begin
for c:=0 to ControlCount-1 do
if Controls[c] is TStringGrid then
for i:=1 to (Controls[c] as TStringGrid).ColCount do
for j:=1 to (Controls[c] as TStringGrid).RowCount do
(Controls[c] as TStringGrid).Cells[i,j]:='1';
end;
Ответ отправил: Sattar (статус: 3-ий класс)
Ответ отправлен: 12.11.2006, 15:29 Оценка за ответ: 5
Вопрос № 62.279
Здраствуйте. У меня есть класс TWater c параметрами x,y. Я создаю n копий это класса. И работаю с ними: Отрисовываю, изменяю y и x. Потом через некоторое время возникает ошибка "Stack overflow" При этом может быть любым. Все объекты создаются без проблем. Но ошибка возникает все равно, через некоторое время, большее или меньшее в зависимости от n.
Что это за стек, который переполняется? Как избавиться от проблемы?
Отправлен: 12.11.2006, 12:24
Вопрос задал: Yujin (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: sir henry
Здравствуйте, Yujin!
Стек - это область памяти, куда процедуры и функции складывают свои параметры во время своего выполнения. Соответственно чем больше их запущено не дожидаясь завершения работы предыдущих, тем больше заполнен стек. Для стека память выделяется директивой компилятору {$M min, max}, где min - это начальная величина стека и max - это до какого объема будет выделяться память, если стеку места не хватает. По умолчанию эти величины составляют 16384 Байт и 1048576 Байт. Если Ваша программа заняв под стек всю разрешенную
память попытается засунуть в стек что-то еще, то выскочит ошибка "Stack overflow" - "Переполнение стэка".
Трудно сказать, отчего у Вас переполняется стек не видя кода. Чтобы отловить, кто у Вас так интенсивно жрет стэк, надо отлавливать исключение EStackOverflow с помощью Try ... Except.
Попробуйте, для начала, увеличить максимальную величину стека до 2 МБ и посмотреть, что будет. Если ошибка перестанет появляться. то оставьте эту цифру.
Приложение:
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 12.11.2006, 16:48
Вопрос № 62.297
Здраствуйте!
Подскажите какой-нибудь алгоритм шифрования, который может шифровать налету, и очень быстро.
А также быстрый алгоритм сжатия звука и обратный ему.
Отправлен: 12.11.2006, 14:13
Вопрос задал: chikanok (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Monah
Здравствуйте, chikanok!
Предлагаю такой вариант для шифрования
Приложение:
--------- festina lente
Ответ отправил: Monah (статус: 9-ый класс)
Ответ отправлен: 12.11.2006, 18:29
Вопрос № 62.298
Здравствуйте, уважаемые эксперты!!!! Подскажите, плиз, как с помощью одной кнопочки переключать закладки в PageControl, причем их очень много!!! Огромное спасибо заранее!!!
Отправлен: 12.11.2006, 14:21
Вопрос задал: Oopbl (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Sattar
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
For i:=0 to PageControl1.PageCount-1 do
begin
PageControl1.ActivePage:=PageControl1.Pages[i];
ShowMessage('TabSheet'+IntToStr(i+1));
end;
end;
Ответ отправил: Sattar (статус: 3-ий класс)
Ответ отправлен: 12.11.2006, 15:11
Отвечает: Monah
Здравствуйте, Oopbl!
Я думаю вам надо не перебирать страницы одним кликом все, а по очереди. Смотрите приложение.
Приложение:
--------- festina lente
Ответ отправил: Monah (статус: 9-ый класс)
Ответ отправлен: 12.11.2006, 18:20 Оценка за ответ: 5 Комментарий оценки: псябки огромные)))))
Вопрос № 62.306
Здравствуйте, уважаемые эксперты. К примеру, на форме имеется «Edit». Как сделать, чтобы во время выполнения программы, кликнув на нём правой кнопкой мыши, выбрать пункт «Редактировать» и при этом «Edit» начинает вести себя также как во время проектирования, т.е. вокруг него появляется обрамляющая рамка и можно изменять его размеры. Заранее всем большое спасибо.
Отправлен: 12.11.2006, 15:09
Вопрос задал: NVL (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PaVeL_Ekt
Здравствуйте, NVL!
нда задача не из легких !!!
Что-бы сделать меню нужно просто прибить к edit-у в свойстве popupmenu ваше popupmenu.
Чтобы выделить едит пунктирной рамкой, можно вокруг него нарисовать пунктирный Rectangle и затем отслеживать нажатие мыши.
Если мыша нажата на нарисованном ректангле то надо определять куда смещение идет, и соответственно увеличивать или уменьшать едит.
вот рабочий пример !!!
Приложение:
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 3-ий класс)
Ответ отправлен: 13.11.2006, 08:45 Оценка за ответ: 5 Комментарий оценки: Жаль, что Edit не изменяет своих размеров во время передвижения мыши, но это уже дело техники. А так Ваше приложение полностью работоспособное. Большое спасибо.