Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 609
от 02.10.2006, 13:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 379, Экспертов: 68
В номере:Вопросов: 7, Ответов: 9


Вопрос № 56772: Здравствуйте, уважаемые эксперты. В программе есть два двухмерных динамических масива (Arr1 и Arr2, допустим). Есть процедура типа procedure Proc1(var arr:xxxx); Проблема, собственно, в том, что я не знаю, что вписать вместо xxxx, чтобы перед...
Вопрос № 56775: Здравствуйте Уважаемые Эксперты! Как сделать, чтобы компоненты TLabel при (например разворачиванию на полный экран формы)группировались по ней относительно центра(я имею ввиду влево-вправо)...
Вопрос № 56780: Уважаемые эксперты! Где можно найти описание или примеры использования XStringGrid на BCB6...
Вопрос № 56794: На форму ставлю один единственный компонент: IdUDPServer1. Когда начинаю добавлять какой либо код, даже если просто комментарий - //, то постоянно выдает ошибку при компиляции Вот такую: [Error] Unit1.pas(13): Undeclared identi...
Вопрос № 56802: Дорогие эксперты, сетяне!!! У меня к вам вопрос по графике в Delphi. На канве нужно написать текст, вокруг текста эллипс. А я сделал наоборот: сначала эллипс, а потом текст. В принципе, работает, а препод говорит: Давай наоборот. Тут нужно по ходу св...
Вопрос № 56825: Подскажите как сделать програмку с плагинами. Прочитал фак на королевтве но не очень то понял, может подскажите примерчик. ...
Вопрос № 56850: добрый день! у меня опять что -то не то. вот код var SetData: TDateTime;begin setdata:=date; if not DirectoryExists('Из казначейства '+datetostr(tsetdati)+'г') then CreateDir('Из казначейства '+datetostr(tsetdati)+'г'); exit; а как через...

Вопрос № 56.772
Здравствуйте, уважаемые эксперты.
В программе есть два двухмерных динамических масива (Arr1 и Arr2, допустим). Есть процедура типа procedure Proc1(var arr:xxxx);
Проблема, собственно, в том, что я не знаю, что вписать вместо xxxx, чтобы передать процедуре один из данных массивов (Arr1 и Arr2).
И вообще, такое возможно?

Приложение:

Отправлен: 26.09.2006, 14:40
Вопрос задал: Werebear (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: n0name
Здравствуйте, Werebear!
Да возможно.
Введите тип TMyArr:
type
TMyArr = array of array of real;

И объявите Arr1, Arr2 так:
var Arr1, Arr2: TMyArr;

Процедура:
procedure Proc1(var arr: TMyArr);
Ответ отправил: n0name (статус: 6-ой класс)
Ответ отправлен: 26.09.2006, 14:45
Оценка за ответ: 5
Комментарий оценки:
Спасибо

Отвечает: Gh0stik
Здравствуйте, Werebear!

Просто в место хххх Вам необходимо использовать тип который надо определить так:

type
dinmas=array of array of real;

Соответственно Ваши переменные будут описываться как:

var
Arr1,Arr2:dinmas;


А процедура примет вид:

procedure Proc1(var arr:dinmas);
var i,j:integer;
begin
SetLength(arr,n,m);
for i:=0 to n-1 do
for j:=0 to m-1 do
arr[i][j]:=i+j;
end;


Удачи!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 26.09.2006, 14:51
Оценка за ответ: 5
Комментарий оценки:
Спасибо

Отвечает: sir henry
Здравствуйте, Werebear!
Еще один способ. Вместо определения собственного типа по типу Ваших массивов, Вы можете в процедуру передавать указатель на нужный Вам массив. Если массивы большие, то таким образом съэкономите кучу времени. А в самой процедуре уже будете работать не с массивом непосредственно, а с указателем, т.е. это потребует от Вас дополнительно подставить птичку.
Procedure Proc1(arr: Pointer);
Begin
...
End;
В программе:
...
Proc1(@arr1);
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 27.09.2006, 08:38
Оценка за ответ: 5
Комментарий оценки:
Спасибо


Вопрос № 56.775
Здравствуйте Уважаемые Эксперты!
Как сделать, чтобы компоненты TLabel при (например разворачиванию на полный экран формы)группировались по ней относительно центра(я имею ввиду влево-вправо)
Отправлен: 26.09.2006, 15:23
Вопрос задал: Ustas (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 10)

Отвечает: Prosto_Blackhowk
Здравствуйте, Ustas!
у компонентов есть есть свойство Align, им и воспользуйтесь. А вообще, когда хотите избавиться от скачков визуальных компонентов при изменении размеров формы, то их координаты left и top нужно задавать не жестко, а в привязке к размерам формы, то есть Label1.top:= Form1.top-100 или Form1.Heigth-100 или Form1.Heigth/2. возможностей куча, пробуйте.
Ответ отправил: Prosto_Blackhowk (статус: 2-ой класс)
Ответ отправлен: 27.09.2006, 08:16


Вопрос № 56.780
Уважаемые эксперты! Где можно найти описание или примеры использования XStringGrid на BCB6
Отправлен: 26.09.2006, 16:01
Вопрос задал: Vms (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Mexes
Здравствуйте, Vms!
Почему бы не поинтересоваться у экспертов С/C++-?

Вот здесь есть пример на Delphi, думаю, разберетесь...
http://decoding.narod.ru/download/component/stringgrid/xstringgrid.zip
Ответ отправил: Mexes (статус: 3-ий класс)
Ответ отправлен: 26.09.2006, 18:09


Вопрос № 56.794
На форму ставлю один единственный компонент: IdUDPServer1.
Когда начинаю добавлять какой либо код, даже если просто комментарий - //,
то постоянно выдает ошибку при компиляции

Вот такую:
[Error] Unit1.pas(13): Undeclared identifier: 'TIdSocketHandle'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Приложение:

Отправлен: 26.09.2006, 17:44
Вопрос задал: Пепеляев Александр Павлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: din
Здравствуйте, Пепеляев Александр Павлович!
Добавьте в секцию Uses юнит IdSocketHandle и проблема исчезнет.
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 26.09.2006, 17:54


Вопрос № 56.802
Дорогие эксперты, сетяне!!! У меня к вам вопрос по графике в Delphi. На канве нужно написать текст, вокруг текста эллипс. А я сделал наоборот: сначала эллипс, а потом текст. В принципе, работает, а препод говорит: Давай наоборот. Тут нужно по ходу свойства Brush использовать: style, color.
Заранее благодарен за ответ!!!

Приложение:

Отправлен: 26.09.2006, 18:40
Вопрос задал: Leito (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: CjJoker
Здравствуйте, Leito!
Вот исправленный вариант, пользуйтесь:

with Canvas do
begin
font.Height:=32;
font.Color:=clblue;
font.Name:=('Courier New Bold');
font.Style:=[fsItalic];
textout(round(clientwidth/2)-70,round(clientheight/2)-50,'Delphi forever!!!');
pen.Width:=5;
pen.Color:=rgb(15,150,200);
// // //
brush.Style:= bsClear; // вот эта опция, без заливки ...
// // //
Ellipse(round(clientwidth/2)-300,round(clientheight/2)-300,1000,700);

end;
Ответ отправил: CjJoker (статус: 1-ый класс)
Ответ отправлен: 26.09.2006, 21:54


Вопрос № 56.825
Подскажите как сделать програмку с плагинами. Прочитал фак на королевтве но не очень то понял, может подскажите примерчик.
Отправлен: 26.09.2006, 23:28
Вопрос задал: Negruzzi Cristian (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: /Iorpy$
Здравствуйте, Negruzzi Cristian! Примерчик я врядли смогу вам дать за неимением такового и за неумением в этой "отрасли". Могу лишь подкинуть статейку:
"http://www.delphirus.com.ru/modules.php?name=News&file=article&sid=66"
/Iorpy$

---------
Если чего-то не знаешь, спроси: тебе ответят те, кто знают!
Ответ отправил: /Iorpy$ (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 23:51


Вопрос № 56.850
добрый день! у меня опять что -то не то. вот код var
SetData: TDateTime;begin setdata:=date; if not DirectoryExists('Из казначейства '+datetostr(tsetdati)+'г') then CreateDir('Из казначейства '+datetostr(tsetdati)+'г');
exit;
а как через сеть создать папку в локальной сети на сервере папку
, я написал CreateDir('\ServerIwoПочтаТекущегоДняИз казначейства
'+datetostr(tsetdati)+'г'); так прога не отвечает. в чем причина и как исправить ошибку, с/у ера
Отправлен: 27.09.2006, 08:01
Вопрос задал: ERA (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Кулаков Антон Сергеевич /SandroNec
Здравствуйте, ERA!

Не могу понять откуда здесь вообще переменная "tsetdati" пришлите нормальный код по внутренней почте тогда разберемся в чем проблема, а по поводу создания папки, то посмотрите есть ли доступ у вашей учетной записи на создание, удаление, редактирование для этого расшаренного ресурса
---------
Настоящий программист на вопрос - "можешь ли ты это сделать", всегда ответит - "да", а потом подумает как
Ответ отправил: Кулаков Антон Сергеевич /SandroNec (статус: 1-ый класс)
Ответ отправлен: 27.09.2006, 08:39


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное