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

Delphi - проблемы и решения

  Все выпуски  

Проблемы и решения в Delphi #48


Служба Рассылок Subscribe.Ru

5746 подписчиков.

Проблемы и решения в Delphi - выпуск 48 от 21.02.2002.


Лучше лодки на море-только домик на суше.


* В БАЗУ OFFLine * * ВСЕ ВОПРОСЫ * * СПРОСИТЬ * * ПРЕДЛОЖИТЬ * * АРХИВЫ * * СКОЛЬКО НАС *


Доброго Вам времени суток уважаемый читатель.



На этой неделе произошло небольшое обрезание :( моего почтового ящика, поэтому мне пришлось ограничивать размеры архивов до полутора Мб . И вы могли получать не то, что заказывали из базы. Теперь я отделяю файлы помощи от основного дистрибутива. Кстати - за эту неделю самые самые из самых обновили нашу базу - смотрите. Еще было предложение по рассылке вам по запросу текущей базы вопросов и ответов в виде, собственно, файла базы данных, чтоб искать каждому у себя прямо по базе. Спрашиваю всех - это актуально? Может будут другие предложения на эту тему. Шлите предложения.


Как обычно в выпуске:

1. Очередные вопросы.
2. Отвеченные вопросы.
3. Наша база OFFLine взаимопомощи.


* В БАЗУ OFFLine * * ВСЕ ВОПРОСЫ * * СПРОСИТЬ * * ПРЕДЛОЖИТЬ * * АРХИВЫ * * СКОЛЬКО НАС *

1. Очередные вопросы.

Вопрос 693:
От: d

Чем объяснить такую ситуацию? Я по таймеру создаю(Create) TTable и
перед созданием чищу(Free) предыдущий. И когда я смотрю занимаемую приложением
память, то она все время растет, т.е. получается память не освобождается.
В чем проблема?


Ответить.


Попробуй так:


Вопрос 694:
От: LYNX

Идея такова: делает случайное число от 1 до 100 притом не
повторяющиеся. А случается так, что оно повторяется. Подскажите что я
недоделал.
var
  si    : boolean;
  s     : integer;
  r     : integer;
  i     : integer;
  a     : array[1..100] of integer;
  st    : string;
procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
  S:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  si:=false;
  s:=s+1;
  if s>100 then s:=0;
  r:=random(99)+1;
  if s>1 then
  begin
    for i:=1 to s-1 do
    begin
      if a[i]=r then
      begin
        si:=true;
        break;
      end
      else continue;
    end;
  if not si then
  begin
    a[s]:=r;
    str(a[s]:3,st);
    if StrToInt(st)<=100 then
    begin
      Caption:=st;
    end;
  end
  else a[s]:=r;
  end;
end;


Ответить.


Попробуй так:


Вопрос 695:
От: Alexandr Gratchenko

фдч> Вы спрашивали:
фдч> ****************************************
фдч> С компонентом MaskEdit.
фдч> Для ввода чисел до 5 знаков использую маску '99999;0;_'
фдч> Но при работе эта маска пропускает не только цифры, но и пробелы,
если
фдч> перемещаться по полю клавишами со стрелками.
фдч> Может кто-нибудь знает как побороть этот глюк?
фдч> Soft Delphi 5.0
фдч> ****************************************
фдч> Появились ответы:
фдч> Ответ:
фдч> Попробуй так: 00000;0;0
Эта маска требует обязательного ввода 5 цифр,
а мне нужно вводить от 0 до 5 цифр
фдч> только смотри не MaskEdit1.Text, а MaskEdit1.EditText.


Ответить.


Попробуй так:


Вопрос 696:
От: Dr.Shadow[X-RayS]

Здравствуйте,недавно скачал из 2 раздела компонент
"Управление DOS окнами". Пожалуйста скажите где можно найти внятное
объяснение как енто работает или на худой конец какой нибудь
исходничек, а то у меня все это как-то коряво работает, да и вообще
c некоторые DOS - окнами это вообще не работает. Не считайте
ламером (программирую третий год),но нужно работать с DOS-программой.
Кстати я уже задавал вопрос (679) и думаю, что этот компонент мне
поможет. Просто залез в хелпу и там такое про консоли.что аж страшно
стало, поэтому решил воспользовать готовым.
PS: вы посоветовали мне скачать
    http://iont.virtualave.net/pub/upxshell/upxsource.exe
    а нельзя ли исходничек посмотреть как все это работает


Ответить.


Попробуй так:


Вопрос 697:
От: Stanislav

как из edit/memo взять текст и перенести в bmp'шку например 256х256 с
белым фоном.
хотелось бы услышать (прочитать:) популярно.
Можно в виде кода с пояснениями, т.к. с такой проблемой встречаюсь в 1й
раз.
 


Ответить.


Попробуй так:


Вопрос 698:
От: lysenko

Вот сидел, ломал голову над тем, как данные их xls (Excel) файла в
Paradox перегнать... Ну увидел я вобщем ADOTable все красиво,
понравилось, и тут
я понял что не знаю как получить список доступных таблиц.
В ADOTable.TableName находится список листов XLS файла, как этот список
в ComboBox, например, перегнать ?
Помогите хотя бы теорией...


Ответить.


Попробуй так:


Вопрос 699:
От: AL

Здравствуйте, я тут прикупил компакт с Delphi6, думаю юзать её в
свободное время, ну и на рассылку вашу подписался.
Что я ценю в рассылках — это вопросы и ответы. И не так вопросы и
ответы, как возможность самому задать вопрос и дать ответ.
Естественно, хочу попросить о некоторых вещах:
В Делфи я полный тормоз, но хотелось бы хоть как-то, хоть немного
в ней разобраться.
Вообще я умею немного программировать в Т-Паскаль и ПХП-скриптах.
Даже сайт свой есть (на PHP и MySQL работает).
Так вот, хочу спросить, не могли бы вы подсказать, где в И-нете найти
учебник какой-то по Делфи, прочитав который, я смог бы понять хотя бы
концепцию создания программ в Делфи? Особенно, чтобы на каких-то
примерах обучиться?
В общем, что-то вроде "Первые шаги в Делфи" или что-то похожее.
Надеюсь, подскажете.


Ответить.


Попробуй так:


Вопрос 700:
От: strannik

У меня такой вопрос как из своей программы получить текст кнопки
или меню из другой программы например file-open и изменить на свой:


Ответить.


Попробуй так:


Вопрос 701:
От: MX

Плиз, подскажите, как в рунтайме поменять физическое имя поля базы
  данных.


Ответить.


Попробуй так:



* В БАЗУ OFFLine * * ВСЕ ВОПРОСЫ * * СПРОСИТЬ * * ПРЕДЛОЖИТЬ * * АРХИВЫ * * СКОЛЬКО НАС *

2. Отвеченные вопросы.

Вопрос 682:
От: D

Вопрос по Indy.
Как в IdMessage изменить вид кодировки.
Чтобы и в поле откого и в теме и в теле письма -
везде была та кодировка которую я указал,
например win1251. По умолчанию все понимается как koi8r.


Ответить.

Попробуй так:


Вопрос 683:
От: D

Вопрос по Indy. Как в IdSMTP отправить вложение.


Ответить.

Попробуй так:


Вопрос 684:
От: Dr.IMP

Кто-нибудь может дать прямую ссылку на ресурс, содержащий исходник,
либо обьяснение работы графического редактора? Чем больше у него будет
функций и сложнее, тем лучше! В данном направлении мало чего смыслю, но
понадобилось срочно для автоматизации рутинно работы написать
программку, содержащую только необходимые функции.
Или для начала просто обьясните:
Имею я на форме label и image. Как, например, повернуть их на угол "-30
градусов" ? А ухватить мышкой и перетащить? А изменить свойство шрифта у
label в то время, когда над ним, например, уже выполнена какая-то работа
и не хочется просто удалять его и начинать все по новому?


Ответить.

Попробуй так:
Есть набор компонент к Дельфе - LMD 5 - вроде как последняя в
ерсия. В ней есть возможность юзать наклон labela. Там вообще до фига всего умного на эту тему. А перетаскивание - это просто метка в которой есть свойство Drag-and-drop. У меня есть установка с исходниками - если надо - пиши. Могу сбросить на свой Ftpшник, потом вытащишь. Под 6-ю Дельфю весит 7 метров, и вроде как с лицензией, но скажу честно, я ее пока не ставил. А вот под 5-ю у меня точно есть рабочая версия (где-то тоже метров 6-7, точно не помню). Попробуй так:


Вопрос 685:
От: Yan Burtiansky

Ггде можно найти документацию по использованию
в Delphi5 компонентов вкладки Servers (желательно в электронном виде).


Ответить.

Попробуй так:
Во-первых, на русской страничке самого Borland, там есть кр
аткое описание. Во-вторых, на http://www.sources.ru - я оттуда точно что-то вытащил. Попробуй так:


Вопрос 686:
От: Dimitry V. Archangelsky

Вопрос, как использовать дизайн-режим VCL компонента? Может быть этот
вопрос
уже был, ткните меня в нужную сторону - нужен собственный визуальный
дизайнер форм. Не хотелось-бы писать свое....


Ответить.

Попробуй так:
Глянь , в хелпахљ љproperty Designer: IDesigner это св
ойство формы, его просто нужно определить и присвоить, но на сам деле это я написал что всё просто там тебе ещё повозиться прийдётся


Вопрос 687:
От: Crazy Max

Где взять DelphiX под 5 или 6 Delphi?


Ответить.

Попробуй так:
Читайте очередной выпуск рассылки - появился в разделе компо
нентов. Попробуй так:
http://www.yks.ne.jp Попробуй так:


Вопрос 688:
От: Андронов Алексей

Хотел бы узнать, как скопировать выделенную строку ListBox в буфер:


Ответить.

Попробуй так:
uses ClipBrd; ... with ListBox do > ClipBoard.SetTextBuf(PChar(Items[ItemIndex])); Попробуй так:
Создай приложение по умолчанию. В uses добавь модуль Clipbrd для работы с клипбоардом. На форму помести TListBox, две кнопки и TEdit. На обработчики кнопок добавь следующий код. // для помещения текста в клипбоард procedure TForm1.Button1Click(Sender: TObject); begin ClipBoard.AsText:=ListBox1.Items[ListBox1.ItemIndex]; end; // для извлечения текста из клипбоарда procedure TForm1.Button2Click(Sender: TObject); // begin Edit1.Text:=ClipBoard.AsText; end; Попробуй так:


Вопрос 689:
От: Gavrilenko UN

Подскажите, пожалуйста, можно ли программно менять пароль InterBase.
Если можно, то как?


Ответить.

Попробуй так:
Как-то ты не совсем грамотно выразился. Тебе что менять-то
надо? В IB есть возможность устанавливать доступ к базе для нескольких клиентов (смотри гранты). Но есть пароль, по которому создается сама база. К ней пароль тоже можно менять, но уже в отдельном приложении - IBConsole. Вот этот пароль не меняеться никак (вроде бы), так как база данных конектится только при условии, что ты вошел с истинным именем:паролем. Что касаемо грантов, то там ты можешь юзать все что захочешь. Попробуй так:


Вопрос 690:
От: Vitaliy Tokarev

Как можно читать Скан-код и Аски-код используя
таймер, но чтобы программа никому не мешала
и висела в Tray? (Мне нужно перехватывать
некоторые комбинации клавиш и по ним запускать
программу)
-----------
PS. Используется новая клавиатура с множеством
дополнительных клавиш, драйвер к которой криво
работает - хочу свою резидентную программу
написать.


Ответить.

Попробуй так:


Вопрос 691:
От: vas

Как с помощью локального SQL создать таблицу и
     заполнить ее записями из другой таблицы. Например нужна таблица
      Rep с полями :
            Tabnum
            SudDiv
            Sum
      Есть таблицы
      1)Staff c полями
            Tabnum
            NSubDiv
            .... и тд.
      2)SubDiv c полями
           NSubDiv
           SubDiv
      3)Debet
           Tabnum
           CodeDeb
           Sum
       Требуется создать таблицу REP перенести в нее соответственно
       Tabnum.  В поле Sum должна стоять сумма по Tabnum из тб.
       Debet, и соответственно поле SubDiv должно содержать название
       подразделения для Tabnum из таблицы SubDiv. Как это сделать
       используя Local SQL ? Если можно с примером.


Ответить.

Попробуй так:
Может быть так: Сначала создаешь таблицу, а затем: in
sert into rep (TabNum,nSubDiv,Summ) select st.TabNum,sd.SubDiv,Sum(d.Summ) from Staff st,SubDiv sd,Debet d where st.nSubDiv=sd.nSubDiv and st.TabNum=d.TabNum group by st.TabNum,sd.SubDiv ЗЫ: Смотри LocalSQL.hlp в папке BDE Попробуй так:
Создание таблицы: (Название поля sum делать нельзя ! Потому используем summ) create table rep (tabnum integer,suddiv char(20),summ numeric) Заполнение TabNum из Staff: INSERT INTO Rep (Tabnum) SELECT DISTINCT Tabnum FROM Staff Заполнение Summ: UPDATE Rep set Summ=(SELECT sum(summ) FROM Debet WHERE Rep.TabNum=Debet.TabNum), SubDiv=(SELECT SubDiv FROM Staff,SubDiv WHERE Rep.TabNum=Staff.TabNum and Staff.NSubDiv=SubDiv.NSubDiv) Попробуй так:
insert into rep (tabnum, subdiv, sum) select s.tabnum tabnum, sd.subdiv, sum(d.sum) from staff s, subdiv sd, debet d where s.nsubdiv = sd.nsubdiv and s.tabnum = d.tabnum group by;


Вопрос 692:
От: vas

Можно ли последовательно вызвать несколько операторов локального SQL ?
Например сделать CREATE TABLE ....
(а затем)        Insert into
Можно ли в локальном SQL использовать операторы for , if , while и тд.
Не подскажет ли кто литературу (или даст ссылку) по подробному
описанию локального SQL (файл LocalSQL.hlp уже изучен).


Ответить.

Попробуй так:



* В БАЗУ OFFLine * * ВСЕ ВОПРОСЫ * * СПРОСИТЬ * * ПРЕДЛОЖИТЬ * * АРХИВЫ * * СКОЛЬКО НАС *



3. Наша база OFFLine взаимопомощи.
Что на сегодня у нас имеется :
Документы Компоненты Программы Проекты
1. От Валентина Озерова
2. 32 Урока По Делфи4(текст)
3. Непрямоугольные формы
4. CGI на Делфи
5. Справочник по Делфи5
6. От Олега Малышева
7. Перекодировки
8. WinApi
9. От Алексея Малинина
10. 32 Урока По Делфи4(рисунки)
11. МИДАС

1. Выполнение Матем Выражений
2. Управление DOS окнами
3. Rx6_Lib
4. Rx6_Help(rus)
5. Delphi_X
6. Delphi_X_Help(eng)


1. Текст под Углом
2. Управляем WinAmp
3. Печать Графики
4. Заменить Строки

Если Вам есть что послать в базу OFFLine то просто в теме письма укажите 'baseoffl' приложите аттач и отправьте письмо. В связи с ограничением размера письма не делайте аттачи более 1500кб.
А ты уже поделился с товарищами чем-нибудь интересным?
Если хотите что-то заказать то пошлите по почте этот запрос , а после двоеточия поставьте две цифры разделенныe запятой, например : ':2,1' - это значит, что вы хотите заказать из второй колонки(Компоненты) первый элемент.
Есть небольшое ограничение - в одном письме можно запросить только что-то одно (обрабатывается только первая строка тела письма)!

Помните! Структура каталогов поддерживается только до очередного выпуска рассылки! Поэтому при запросе всегда берите данные из последнего выпуска!

Если Вы хотите как можно скорее получить ответ на свой вопрос, то
укажите в теме письма - delphiV,иначе письмо будет прочитано значительно
позже, если же у вас есть предложения то в теме письма укажите delphiP.

Для интересующихся - немного о себе. Работаю на
железнодорожном транспорте ведущим программистом.
Основные мои разработки - это сбор и доставка клиентам
информации о вагонах и поездах: где находится(по России),
куда едет. В связи с этим программировал для e-mail,Socket,БД,ISAPI.

За сим прощаюсь - скорых Вам и качественных программ.

Автор рассылки - Дмитрий.
ICQ - 89533941.

* В БАЗУ OFFLine * * ВСЕ ВОПРОСЫ * * СПРОСИТЬ * * ПРЕДЛОЖИТЬ * * АРХИВЫ * * СКОЛЬКО НАС *



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное