Вопрос № 44246: Здравствуйте!
Подскажите как можно осуществить бесконечную прокрутку результатов расчетов на черном экране(как в паскале) и выходе из этих расчетов только после нажатия на клавишу?...Вопрос № 44255: Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как сделать такую вещь. Есть два ListBox`а, в первый наполнен какими-либо значениями, а второй пустой. Мне нужно, чтобы при нажатии на кнопку выбранное значение из первого листбокса добавилось...Вопрос
№ 44279: Здравствуйте, господа Эксперты! У меня такие вопросы: 1). Можно ли сделать Memo, RadioGroup, RadioButton, CheckBox прозрачными? Дело в том, что у меня градиент на форме (сторонний компонент) и цвет, естественно, для контролов такой же не подберешь. Е...Вопрос № 44284: Здраствуйте, эксперты!
У меня два вопроса,один для всех,а второй для тех кто работал с OpenGL!
1)Нужно преобразовать координаты мыши от оконных(где х идёт из нижнего левогоугла, понизу в право, а у с нижнего левого угла вверх)
в стандартн...Вопрос № 44290: Доброго времени суток!
У меня возникла проблема... Помогите решить!
Есть файл dbf сохраненный в Excel. В нем присутствуют поля с русским текстом.
Мне теперь необходимо конвертировать С ОЕМ кодировки в ANSI.
P.S.
Пробовал...Вопрос № 44302: Здравствуйте, уважаемые эксперты.
Трабл такой. Нужно перенести код из редактора кода в Word.
Всё выделяю, копирую, вставляю и ..., получаю вместо кирилицы крякозябры ( с латиницей всё в порядке ).
А может кто нибудь знает другой способ, ...Вопрос № 44324: Добрый день.
Подскажите пожалуйста как реализовать следующую функцию:
Кинула на форму Memo и кнопку, действие должно происходить при нажатии на копку.
Открываем файл, сразу оговорюсь, зашифрован алгоритмом RC5.
Пример:
Руководство...Вопрос № 44327: Здравствуйте, уважаемые эксперты! Не поможете ли вы мне в создании такой программы на Delphi: "Создать типизированный файл, содержащий целые числа. Нужно открыть созданный фай и подсчитать сумму чисел и их количество". Заранее ОГРОМНОЕ ВАМ ...
Вопрос № 44.246
Здравствуйте!
Подскажите как можно осуществить бесконечную прокрутку результатов расчетов на черном экране(как в паскале) и выходе из этих расчетов только после нажатия на клавишу?
Отвечает: sir henry
Здравствуйте, Артемова Марина!
Во-первых, нужно создать экран консоли, а во-вторых, выводить на нее так-же как и в Паскале, т.е. через WriteLn() и точно так-же как и в Паскале заключить в цикл с условием выхода по нажатию клавиши. Т.е. никаких отличий от Паскаля нет. Может быть Вы что-то другое имели в виду?
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 26.05.2006, 07:50
Вопрос № 44.255
Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как сделать такую вещь. Есть два ListBox`а, в первый наполнен какими-либо значениями, а второй пустой. Мне нужно, чтобы при нажатии на кнопку выбранное значение из первого листбокса добавилось во второй. Заранее благодарен!
Отвечает: Евгения
Здравствуйте, Андрющенко Вячеслав Васильевич!
procedure TForm1.Button1Click(Sender: TObject);
begin
Listbox1.CopySelection(Listbox2);
end;
Счастливо...
--------- Я не волшебник, я только учусь... А разве кто-то обещал, что будет легко?
Ответ отправила: Евгения (статус: 5-ый класс)
Ответ отправлен: 26.05.2006, 04:08
Отвечает: Проходящий Мимо
Здравствуйте, Андрющенко Вячеслав Васильевич!
Это можна сделать при помощи следующего кода, притом можно использовать MultiSelect:=true :
procedure TForm1.BLeftToRightClick(Sender: TObject);
var
i: integer;
begin
for i := 0 to ListBox1.Items.Count - 1 do
if ListBox1.Selected[i] then
ListBox2.Items.Append(ListBox1.Items.Strings[i]);
i := 0;
if ListBox1.Items.Count > 0 then
while i < ListBox1.Items.Count do
begin
if ListBox1.Selected[i] then
ListBox1.Items.Delete(i)
else
i := i + 1;
end;
end;
procedure TForm1.BRightToLeftClick(Sender: TObject);
var
i: integer;
begin
for i := 0 to ListBox2.Items.Count - 1 do
if ListBox2.Selected[i] then
ListBox1.Items.Append(ListBox2.Items.Strings[i]);
i := 0;
if ListBox2.Items.Count > 0 then
while i < ListBox2.Items.Count do
begin
if ListBox2.Selected[i] then
ListBox2.Items.Delete(i)
else
i := i + 1;
end;
end;
Удачи!
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 4-ый класс)
Ответ отправлен: 26.05.2006, 09:01
Вопрос № 44.279
Здравствуйте, господа Эксперты! У меня такие вопросы: 1). Можно ли сделать Memo, RadioGroup, RadioButton, CheckBox прозрачными? Дело в том, что у меня градиент на форме (сторонний компонент) и цвет, естественно, для контролов такой же не подберешь. Если - нет, то в каких сторонних библиотеках есть?
2).Как отловить в проге набор определенной комбинации букв, как это сделано в GTA - просто набираешь чит и не надо никаких Enter`ов - сразу все работает. Неужели только глобальный хук и таймер? Нет более простого способа? Заранее спасибо!!!
Отправлен: 26.05.2006, 11:25
Вопрос задал: Neiroman (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, Neiroman!
2) Ставим для формы KeyPreview = True. Объявляем глобальные переменные, а затем ловим нажатия событием OnKeyPress() формы:
procedure TForm1.FormKeyPress(Sender: TObject;
var Key: Char); begin Current:=Current+Key; if Current = Right then begin Current:=''; Cheat:=not Cheat; if Cheat <
b>then Caption
ont color=#0000FF>:='cheat enabled' else Caption:='cheat disabled'; end; end;
Как нетрудно догадаться, набирать следует слово "hello". Также обратите внимание, что если в момент набора будет установлена русская раскладка клавиатуры, то код, естественно, не сработает. В этом случае следует завести массив соответствий русских и латинских букв на клавиатуре или программно переключать раскладку на английскую при запуске программы.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Решетник Д
Здравствуйте, Neiroman!
1. Попробуйте покопать в сторону SetLayeredWindowAttributes.
это не объявленная (по крайней мере в Делфи 7)функция АПИ.
function SetLayeredWindowAttributes(hWindow : HWND; crKey : DWORD; bAlpha : Byte;
dwFlags : DWORD) : BOOL; stdcall; external user32 name 'SetLayeredWindowAttributes';
Она используется вот так:
f: HWND;
SetWindowLong(f, GWL_EXSTYLE, GetWindowLong(f, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(f, 0, Byte(0), 2);
Но у меня с ходу не получилось для дочернего компонента ((( может у Вас получится...
2. const aa = 'lala';
var i: integer = 1;
keypreview := true;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if aa[i] = key then
begin
if i = length(aa) then
begin
showmessage('surprise');
i := 1;
end
else inc(i);
end
else i := 1;
end;
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 6-ой класс)
Ответ отправлен: 26.05.2006, 14:35
Отвечает: Lexus
Здравствуйте, Neiroman!
1.Можно это делать с помошью пакета KsDevMediaPack - хорошая вешь там можно у любого компонента менять прозрачность (BlendValue), к сожалению ссылки не скажу (качал с диска). Воспользуйтесь поиском.
2. Никаких других стопроцентных способов не знаю. Но 80% способ могу подсказать:)
0) Бросьте на форму TLabel (Label1)
1) Создайте обработчик OnKeyPress для формы и напишите:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if pos('код1',stroka)<>0 then begin label1.Caption:='Введен код1';stroka:='';end;
if pos('код2',stroka)<>0 then begin label1.Caption:='Введен код2';stroka:='';end;
//...
if pos('кодN',stroka)<>0 then begin label1.Caption:='Введен кодN';stroka:='';end;
end;
То есть заместо "код1", "код2" проверяйте свои значения паролей а вместо "label1.Caption:='Введен код1" выполняйте свои действия.
2)Назначьте в Инспекторе объектов обработчик OnKeyPress для формы всем компонентам, которые имеют это свойство.
Ответ отправил: Lexus (статус: 3-ий класс)
Ответ отправлен: 28.05.2006, 11:36
Вопрос № 44.284
Здраствуйте, эксперты!
У меня два вопроса,один для всех,а второй для тех кто работал с OpenGL!
1)Нужно преобразовать координаты мыши от оконных(где х идёт из нижнего левогоугла, понизу в право, а у с нижнего левого угла вверх)
в стандартные(незнаю как правильно называються,где центром является центр экрана, у выше центра +,ниже - ,х левее - ,правее +)грабли в том что во втором случае значения х идут от -3,12.. до 3,12.. а у от -2,45... до 2,45... Ну а у оконных намного больше!
2) Как определить какой обьект находиться под курсором, тоесть по клику мыши получить его координаты,если что-то подобное у OpenGl`я или это надо делать ручным подбором координат обьеков.
Отправлен: 26.05.2006, 12:15
Вопрос задал: chikanok (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Ерёмин Андрей
Здравствуйте, chikanok!
Делается достаточно легко: сначала просчитываются координаты центра (экрана/окна), а затем находится разность в координатах. Вот пример для формы. Рекомендую развернуть её на полный экран при тестировании.
А чтобы сделать тоже самое, но в пределах окна, в качестве координат курсора используйте X и Y, что ловятся событием, а вместо длины и ширины экрана - размеры окна.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Доброго времени суток!
У меня возникла проблема... Помогите решить!
Есть файл dbf сохраненный в Excel. В нем присутствуют поля с русским текстом.
Мне теперь необходимо конвертировать С ОЕМ кодировки в ANSI.
P.S.
Пробовал через WinAPI стандартную функцию. Возвращаемый результат неправилен так как например буква "У" - конвертируется в "L".
Если можно скинте пожал. исходник работы.
С уважением Валерий
Отправлен: 26.05.2006, 13:23
Вопрос задал: PheanixN (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, PheanixN!
А что Вы в WinAPI пробовали? Есть функция OemToChar() и перекодирует она правильно, проверено.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 26.05.2006, 14:32
Вопрос № 44.302
Здравствуйте, уважаемые эксперты.
Трабл такой. Нужно перенести код из редактора кода в Word.
Всё выделяю, копирую, вставляю и ..., получаю вместо кирилицы крякозябры ( с латиницей всё в порядке ).
А может кто нибудь знает другой способ, как перенести код из *.pas
на бумагу?
Заранее благодарю!
Отправлен: 26.05.2006, 15:14
Вопрос задал: Dredd (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Rusland
Здравствуйте, Dredd!
Я, например, сначала из Delphi копирую в Far, а из Far-a в Word.
--------- Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Ответ отправлен: 26.05.2006, 15:24
Отвечает: Ерёмин Андрей
Здравствуйте, Dredd!
У меня Delphi 7 и Word XP. При копировании подобной проблемы не наблюдается. Но по-моему, раньше было что-то подобное. Попробуйте скопировать текст сначала в блокнот, а потом из блокнота в Word. Если не ошибаюсь, это должно помочь.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Shcherbakov Anton
Здравствуйте, Dredd!
http://www.astonshell.ru/freeware/bred3/
скачайте вот это прогу. ей открываете ваш pas файл и переконвертируйте в кодировку ANSI. сохраняйте в текстовый файл и спокойно копируйте в ворд.
либо способ попроще, в ворде выбираете пункт в ворде втавка->файл когда спросит выставьте нужную кодировку...
вот собственно и всё
Ответ отправил: Shcherbakov Anton (статус: 2-ой класс)
Ответ отправлен: 26.05.2006, 15:28
Отвечает: Проходящий Мимо
Здравствуйте, Dredd!
Это особенность буфера обмена в XP. Чтобы правильно переносить данные напрямую нужно выставить русскую расскладку клавиатуры и в Delphi, и в Word'е. Тогда все получится.
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 4-ый класс)
Ответ отправлен: 26.05.2006, 15:31
Вопрос № 44.324
Добрый день.
Подскажите пожалуйста как реализовать следующую функцию:
Кинула на форму Memo и кнопку, действие должно происходить при нажатии на копку.
Открываем файл, сразу оговорюсь, зашифрован алгоритмом RC5.
Пример:
Руководство|Логин!$!Пароль
Руководство|Замдиректор| Логин!$!Пароль
Охрана|Старший|Логин!$!Пароль
Нужно в Memo загрузить вот так:
Логин - Пароль
Логин - Пароль
Логин – Пароль
Функцию я начала писать, но как правильно написать (закончить) не знаю ((
var
s, s1:string;
i,j:integer;
begin
Result:=0;
AssignFile(InPut,aFileName);
reset(input);
While not eof(InPut) do
begin
inc(result);
readln(input,s);
s := DecryptKey (s);
i:=pos('!$!',s);
s1:=LeftStr(s,i-1);
j:=LastDelimiter('|',s1);
// Как дальше быть ???
end;
CloseFile(Input);
end;
Вызывать я думаю так нужно:
FName := ExtractFilePath(ParamStr(0)) + 'base.txt';
if FileExists(FName) then
ReadBase(FName, Memo1);
Отвечает: Полховский Александр Владимирович
Здравствуйте, Анна Николаевна!
Получайте пароль. Это будет правая строка от !$!, то есть с позиции i. Получайте логин. Для этого нужно взять строку слева от !$! (это строка s1), а в ней взять строку справа от разделителя| (то есть с позиции j).
Ответ отправил: Полховский Александр Владимирович (статус: Практикант)
Ответ отправлен: 27.05.2006, 15:32 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо, то что нужно.
Вопрос № 44.327
Здравствуйте, уважаемые эксперты! Не поможете ли вы мне в создании такой программы на Delphi: "Создать типизированный файл, содержащий целые числа. Нужно открыть созданный фай и подсчитать сумму чисел и их количество". Заранее ОГРОМНОЕ ВАМ СПАСИБО!!!!!!
Отправлен: 26.05.2006, 19:53
Вопрос задал: Len (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгения
Здравствуйте, Len!
var f: file of integer; // описание типизированого файла целого типа integer
i,data,count: integer;
begin
assign(f,'file1.txt'); // объявление файла, если файл не существует, то создасться новый
rewrite(f); //опкрытие файла для записи
for i:=1 to 20 do
write(f,i); // запись значений в файл вместо i идет запись нужных вам значений
reset(f); // открытие файла на чтение
count:=0;
for i:=1 to filesize(f) do begin //функция filesize(f) возвращает количество элементов в файле - то есть и количество чисел
read(f,data); //чтение данных из файла
count:=count+data; //подсчет суммы
end;
writeln(filesize(f),count); //вывод количества элементов в файле и их суммы... может быть присвоен чему вам удобно
close(f); //закрытие файла.
end.
Для более подробной информации по работе с файлами можете обратиться по этой ссылке:
http://program.rin.ru/razdel/html/1076.html
Успехов!
--------- Я не волшебник, я только учусь... А разве кто-то обещал, что будет легко?
Ответ отправила: Евгения (статус: 5-ый класс)
Ответ отправлен: 26.05.2006, 20:40 Оценка за ответ: 5