Вопрос № 88309: Не поможете пожалуйста: какой элемент лучше использовать чтоб ввести массив данных. Мне для программы надо расчитать вычисление средних данных эксперимента. Есть формулы для расчета средних значений (спс Ghostik, d- массив данных) но вот никак не мог...Вопрос № 88311: Уважаемые эксперты. Как можно преобразовать вордовский файл в текстовый формата txt.
Нужно чтоб был отступ первой строки, чтоб соблюдались поля (левый и правый отступы), пустая строка перед абзацем, строка автор и название.
Подскажите как это...Вопрос № 88329: Добрый день уважаемые эксперты.
Если у кого есть программа или кусок программы или листинг или адресок инете по решению линейных уравнений методом Крамера, поделитесь….
Прошу не ради наживы. Взялся помочь с дипломом по родственному,...Вопрос № 88343: Здравствуйте, уважаемые эксперты! Возник такой вопрос. Мне необходимо что б при вызове процедуры, например нажатия на кнопку на форме, программа создавала на диске exe файл и запускала его. Проблема в том что я не знаю как "вшить" в програм...Вопрос № 88350: Добрый день!
У меня вопрос, точнее два, по поводу компонента NMHTTP.
Я молучаю данные с сайта, как узнать что данные все загружены и можно преступать к загрузки новых данных?
Второй вопрос вот в чем, когда начинаю загружать с нового адрес...Вопрос № 88359: Здравствуйте, дорогие эксперты!
Прошлый раз (81491) вы мне очень помогли. А именно ответ Bingo.
Так вот. Применив его ответ(вам придется его посмотреть) форма не перемещалась за края экрана.
Раньше я отслеживал позицию формы(Left,Top) и е...Вопрос № 88362: мне нужно в TMediaPlayer сделать возможность перемотки видео, как в стандартных видео прогигрователях....Вопрос № 88410: Здравствуйте уважаемые!В моём приложении мне необходимо заносить в ListBox некие названия,там они должны получать защиту от дублирования,здесь я понимаю надо предварительно поработать со StringList(Duplicates),далее сортироваться по имени(Sorted),но
...Вопрос № 88423: Добрый день, уважаемые эксперты. Заинтересовал вопрос внезапно, а что такое Query , а в частности CloseQuery, и для чего его применяют. Заранее спасибо....
Вопрос № 88.309
Не поможете пожалуйста: какой элемент лучше использовать чтоб ввести массив данных. Мне для программы надо расчитать вычисление средних данных эксперимента. Есть формулы для расчета средних значений (спс Ghostik, d- массив данных) но вот никак не могу найти формулу для среднего кубического.
Я понимаю что формулы надо загнать в элемент RadioGroup, а вот дальнейший вывод в сторку для них как выглядит будет?
Приложение:
Отправлен: 23.05.2007, 20:43
Вопрос задал: Mantis (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Gh0stik
Здравствуйте, Mantis!
Для ввода массива данных я посоветую Вам воспользоваться функцией function InputBox(const ACaption, APrompt: WideString; ADefault: Integer; Min: Integer = Low(Integer); Max: Integer = High(Integer); Increment: Integer = 1): Integer; overload;, по необходимо прописать такой модуль: uses QDialogs;
Сами формулы в объектах я Вам предлагаю не писать, а просто в RadioGroup - прописать их названия и при выборе того или иного пункта делать соответствующие вычисления.
Например так: procedure TForm1.RadioGroup1Click(Sender: TObject);
var i,n:integer;
a:real;
begin
n:=UpDown1.Position-1;
case RadioGroup1.ItemIndex of
0: begin a:=0;for i:=0 to n do a:=a+d[i]; a:=a/n;end;
1: begin a:=0;for i:=0 to n do a:=a+sqr(d[i]); a:=sqrt(a/n);end;
2: begin a:=1;for i:=0 to n do a:=a*d[i]; a:=power(a,1/n);end;
3: begin a:=0;for i:=0 to n do a:=a+1/d[i]; a:=n/a; end;
4: begin a:=0;for i:=0 to n do a:=a+d[i]*d[i]*d[i]; a:=power(a/n,1/3); end;
end;
LabeledEdit1.EditLabel.Caption:=RadioGroup1.Items[RadioGroup1.ItemIndex];
LabeledEdit1.Text:=format('%.5f',[a]);
end;
При вычислениях Вы можете обратить внимание на то, что я использую функцию power() - данная функция взята из пакета Math (uses Math) и соответственно находит степень числа.
Так же Вы спрашивали формулу среднего кубического, вот как его можно вычислить - это корень кубический частного суммы кубов элементов на их количество.
S = ((a13 + a23 + ... + an3)/n)1/3.
Полный код проекта программы Вы найдете в прикрепленном файле, а код юнита в приложении.
Good Luck!!!
Приложение:
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа. --------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 24.05.2007, 01:38
Вопрос № 88.311
Уважаемые эксперты. Как можно преобразовать вордовский файл в текстовый формата txt.
Нужно чтоб был отступ первой строки, чтоб соблюдались поля (левый и правый отступы), пустая строка перед абзацем, строка автор и название.
Подскажите как это можно реализовать?
Отвечает: Sattar
Здравствуйте, Култышев Владимир!
Почитайте книгу "ПРОГРАММИРОВАНИЕ ДОКУМЕНТОВ И ПРИЛОЖЕНИЙ MS OFFICE в DELPHI"
Автор: Василий Корняков.
Книгу можна найти в електронном виде.
А реализацыя простого сохраненния с формату doc в формат txt в приложениии.
Приложение:
--------- Programming is like sex, one mistake and you have to support it for the rest of your life.
Ответ отправил: Sattar (статус: 3-ий класс)
Ответ отправлен: 26.05.2007, 15:46
Вопрос № 88.329
Добрый день уважаемые эксперты.
Если у кого есть программа или кусок программы или листинг или адресок инете по решению линейных уравнений методом Крамера, поделитесь….
Прошу не ради наживы. Взялся помочь с дипломом по родственному, но зашиваюсь по времени…
Отвечает: Raden
Здравствуйте, Алексеев Александр Владимирович!
Нашёл в своих архивах что-то подобное, может подойдёт....
Приложение:
--------- Учение - изучение правил, опыт - изучение исключений
Ответ отправил: Raden (статус: 1-ый класс)
Ответ отправлен: 24.05.2007, 00:05 Оценка за ответ: 5 Комментарий оценки: Спасибо!!! Буду разбираться...
Вопрос № 88.343
Здравствуйте, уважаемые эксперты! Возник такой вопрос. Мне необходимо что б при вызове процедуры, например нажатия на кнопку на форме, программа создавала на диске exe файл и запускала его. Проблема в том что я не знаю как "вшить" в программу этот самый ехе и как его потом создавать на диске.
Отправлен: 24.05.2007, 03:39
Вопрос задал: Sleeper (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Gladiator
Здравствуйте, Sleeper!
1) Тебе для этого нужно создать 2 файла : txt2res.bat и exefile.txt (См. приложение)
2) Запускаешь bat-файл; в каталоге появляется файл ресурса exefile.res, внутри которого лежит ваш exe-файл.
3) В своей программе пишете {$R exefile.res} (См. приложение). После компиляции exe-файл помещается в вашу программу.
4) Функцию извлечения exe-файла и его запуска указаны в приложении.
Удачи.
Приложение:
Ответ отправил: Gladiator (статус: 9-ый класс)
Ответ отправлен: 24.05.2007, 08:20 Оценка за ответ: 5 Комментарий оценки: Спасибо очень помог твой код. Правда упростил его для себя!
Отвечает: Gh0stik
Здравствуйте, Sleeper!
На данный вопрос рекомендую прочитать мои и ответы других экспертов по таким ссылкам - вопрос № 87500 и вопрос № 87645.
Обращаю Ван внимание на то, что к каждому ответу прикреплено соответствующее приложение с полым кодом, которое Вы можете скачать.
Также советую просмотреть статьи, которые рекомендуются к прочтению в вопросе № 87645.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 24.05.2007, 08:55 Оценка за ответ: 5 Комментарий оценки: Спасибо, перечитал остальные запросы. Правда файлы текстового формата я раньше прописывал прямо в проге. В том числе и отчеты в ворде. Теперь умею ресурсы крепить.
Вопрос № 88.350
Добрый день!
У меня вопрос, точнее два, по поводу компонента NMHTTP.
Я молучаю данные с сайта, как узнать что данные все загружены и можно преступать к загрузки новых данных?
Второй вопрос вот в чем, когда начинаю загружать с нового адреса, выдает ошибку Already connected. Когда начинаю второй раз загружать все загружается.
Заранее всем спасибо кто ответит.
Отправлен: 24.05.2007, 08:12
Вопрос задал: AllexZ (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Чрнавин Е. А.
Здравствуйте, AllexZ!
По поводу второго вопроса. Попробуй применить метод Free, а постле прописать новый хост. А вообще почитай про этот компанент по этой ссылке. Там пишут как можно работать с http серверами через методы get and post. Этот вариант работы больше подойдет для тебя если ты динамически изменяешь адреса серверов -> http://www.compress.ru/Archive/CP/1999/5/11/#09.
Ответ отправил: Чрнавин Е. А. (статус: 1-ый класс)
Ответ отправлен: 24.05.2007, 09:32
Вопрос № 88.359
Здравствуйте, дорогие эксперты!
Прошлый раз (81491) вы мне очень помогли. А именно ответ Bingo.
Так вот. Применив его ответ(вам придется его посмотреть) форма не перемещалась за края экрана.
Раньше я отслеживал позицию формы(Left,Top) и если он была меньше 0 то приравнивал к нулю. Но форма прыгала за экран а потом возвращалась обратно, получалось некрасиво.
Сейчас проблема следующая. Надо сделать так, чтобы размер формы уменьшался до определенных пределов. Я делал как всегда (код в приложении), но размер формы скачет: уменьшается меньше, а потом снова увеличивается. Некрасиво :-(
Я думаю надо делать так, как и в случае Bingo. Я так понял он делал через системные сообщения. Но я абсолютно не знаю как с ними работать.
Задача в том чтобы размер формы уменьшался до определенных размеров, и ни в каком случае не перескакивал эту границу.
Дайте ссылки где можно найти информацию по этой теме, т.е. по отслеживанию системных событий.
Отвечает: Чрнавин Е. А.
Здравствуйте, Patriotix-N!
Форма наследует свойство Constraints, класса TControl.
Если при создании окна ты укажешь:
Constraints.MinHeight := 407;
Constraints.MinWidth := 625;
То твоя форма не уменьшится меньше этих размеров.
Ответ отправил: Чрнавин Е. А. (статус: 1-ый класс)
Ответ отправлен: 24.05.2007, 09:49
Отвечает: Виктор Пырлик
Здравствуйте, Patriotix-N!
Дак это свойство можно статически прописать - в Constraints раскройте дерево (в дизайнере формы - инспектор объектов)
там есть:
MaxHeight - максимальная высота
MaxWidth - максимальная ширина
MinHeight - минимальная ..
MinWidth - минимальная ...
Это удобно иногда - настроили форму, компаненты - и что бы не нарушать "красоту" ограничиваем допустимые размеры изминения...
--------- Надо пребывать господа, пребывать! Иначе ничего не получится!
Ответ отправил: Виктор Пырлик (статус: 3-ий класс)
Ответ отправлен: 24.05.2007, 10:47
Вопрос № 88.362
мне нужно в TMediaPlayer сделать возможность перемотки видео, как в стандартных видео прогигрователях.
Отвечает: Ерёмин Андрей
Здравствуйте, Сидоров Александр Александрович!
У TMediaPlayer есть свойства Length и Position, которые отвечают соответственно за длину проигрываемого файла и текущую позицию воспроизведения. Вот их и нужно использовать. Можно взять, например, TTrackBar со страницы Win32 и использовать его в качестве перемотки. После открытия файла нужно задать длину: TrackBar.Max:=MediaPlayer.Length;
На событие OnChange соответственно саму перемотку: MediaPlayer.Position:=TrackBar.Position;
Наконец, для автоматического движения ползунка можно использовать TTimer с маленьким интервалом: TrackBar.Position:=MediaPlayer.Position;
Удачи!
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Здравствуйте уважаемые!В моём приложении мне необходимо заносить в ListBox некие названия,там они должны получать защиту от дублирования,здесь я понимаю надо предварительно поработать со StringList(Duplicates),далее сортироваться по имени(Sorted),но самое главное в чём и вопрос,как узнать Index добавленного названия с учётом сортировки.Если можно то весь фрагмент кода включая Duplicates,Sorted,Index .
Отправлен: 24.05.2007, 15:37
Вопрос задал: GAZOT (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Gladiator
Здравствуйте, GAZOT!
Для этого существует сообщение LB_FINDSTRING.
Приложение:
Ответ отправил: Gladiator (статус: 9-ый класс)
Ответ отправлен: 24.05.2007, 16:07 Оценка за ответ: 4 Комментарий оценки: спасибо только не очень понятно ,что есть Longint(Pchar(Mashine)),может объясните
Отвечает: Gh0stik
Здравствуйте, GAZOT!
Я Вам рекомендую воспользоваться функцией function IndexOf(Value: TListItem): Integer;, которая возвращает значение равное "-1", если в списке отсутствует значение Value, а если присутствует то соответственно возвращает номер позиции этой строки.
Для Вашего примера соответственно подойдет такой не сложный код обработки дублей:
procedure TForm1.Button1Click(Sender: TObject);
begin
If ListBox1.Items.IndexOf(Edit1.Text)<>-1
then ShowMessage('Такая строка уже внесена!!!')
else ListBox1.Items.Add(Edit1.Text);
end;
А для автоматической сортировки списка достаточно на этапе создания формы добавить такую строку:
ListBox1.Sorted:=true;
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 24.05.2007, 22:30 Оценка за ответ: 4 Комментарий оценки: да спасибо я об этой функции и забыл ListBox1.ItemIndex:=ListBox1.Items.IndexOf(...)так я понимаю на выходе
Отвечает: Sattar
Здравствуйте, GAZOT!
Если правильно понял то реализацыя в приложении.
Приложение:
--------- Programming is like sex, one mistake and you have to support it for the rest of your life.
Ответ отправил: Sattar (статус: 3-ий класс)
Ответ отправлен: 26.05.2007, 15:59 Оценка за ответ: 4 Комментарий оценки: да только надо ещё в else добавить ListBox1.ItemIndex:=ListBox1.Items.IndexOf(Edit1.Text);
Вопрос № 88.423
Добрый день, уважаемые эксперты. Заинтересовал вопрос внезапно, а что такое Query , а в частности CloseQuery, и для чего его применяют. Заранее спасибо.
Отвечает: Виктор Пырлик
Здравствуйте, SunnyKiller!
Query это запрос (дословно) - и везде, как ни странно, это так и используется, в том числе и в Delphi - компонент TQuery. Этот компонент предназначен для передачи запроса на сервер баз данных, ну, или, если работаете с локальными таблицами, то выполнить инструкции SQL. Как правило, в этом компоненте реализуются запросы - конструкции типа SELECT * FROM, хотя не обязательно, можно и управляющие инструкции посылать - INSERT, UPDATE, DELETE и т.д.
Но в любом случае, открывается соединение с базой/таблицей и эта связь активна на протяжении всего времени активности данного, конкретного компонента. Поэтому, так важно вовремя освобождать эту связь, тем более, с некоторыми СУБД необходимо переоткрыть запрос, что бы увидеть извинения. Основное отличие и преимущество TQuery – динамические наборы данных, гибкость в получении данных и снижена нагрузка на сеть. Недостаток в том, что редактирование возможно только одной таблицы, или использовать дополнительный компонент
TUpdateSQL.
--------- Надо пребывать господа, пребывать! Иначе ничего не получится!
Ответ отправил: Виктор Пырлик (статус: 3-ий класс)
Ответ отправлен: 24.05.2007, 17:58 Оценка за ответ: 5
Отвечает: Ерёмин Андрей
Здравствуйте, SunnyKiller!
В вопросе вы также упомянули CloseQuery. У формы есть событие с таким именем - OnCloseQuery(). Фактически, к понятию "запрос" это событие относится тем, что вызывается при попытке закрыть форму, т.е. при запросе на закрытие. Событие удобно тем, что в нём можно остановить закрытие, установив значение локальной переменной CanClose в False.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.