всё получилось, спасибо!
» Вопросы по Delphi (все версии) - часть 3
чем отличается запись
Код: (Sender as TLabel).Caption
Код: (Sender as TLabel).Caption
andead
хороший вопрос...
думаю, что (Sender as TLabel).Caption применимо только к классам, а TLabel(Sender).Caption - как к классам, так и к другим типам данных, например, record'ам и ссылкам на них.
хороший вопрос...
думаю, что (Sender as TLabel).Caption применимо только к классам, а TLabel(Sender).Caption - как к классам, так и к другим типам данных, например, record'ам и ссылкам на них.
andead
Цитата:
as осуществляет проверку является ли Sender экземпляром TLabel, экземпляром класса порожденного от TLabel или Nil. Если нет, то формируется exception.
Цитата:
(Sender as TLabel).Caption
as осуществляет проверку является ли Sender экземпляром TLabel, экземпляром класса порожденного от TLabel или Nil. Если нет, то формируется exception.
Цитата:
as осуществляет проверку является ли Sender экземпляром TLabel, экземпляром класса порожденного от TLabel или Nil. Если нет, то формируется exception.
Для nil exception тоже сформируется - из-за невозможности доступа к caption
Если я ничего не путаю, это внятно расписано в хелпе по оператору as.
Arvur
Ага, тот самый Аксесс виолетович , но не Invalid typecast.
Цитата:
Так кто же в наше время хэлпы читает
Ага, тот самый Аксесс виолетович , но не Invalid typecast.
Цитата:
Если я ничего не путаю, это внятно расписано в хелпе по оператору as.
Так кто же в наше время хэлпы читает
Arvur
Цитата:
Это для нил... а вот если Sender это экземпляр какого-то другого класса, то вполне может и пройти, только результат получается абсолютно непредсказуемый. Например TEdit(CheckBox1).Text вернет Caption чекбокса - и не падает, а что за значение непонятно
Цитата:
Для nil exception тоже сформируется - из-за невозможности доступа к caption
Это для нил... а вот если Sender это экземпляр какого-то другого класса, то вполне может и пройти, только результат получается абсолютно непредсказуемый. Например TEdit(CheckBox1).Text вернет Caption чекбокса - и не падает, а что за значение непонятно
Цитата:
Так кто же в наше время хэлпы читает
Хо-хо... Я иногда почитываю Память-то не резиновая
Цитата:
а вот если Sender это экземпляр какого-то другого класса, то вполне может и пройти, только результат получается абсолютно непредсказуемый. Например TEdit(CheckBox1).Text вернет Caption чекбокса - и не падает, а что за значение непонятно
Caption порождается в TControl.. Оба класса его потомки. Есть предположение, что дельфак просто сводит к общему предку.
С Caption все более-менее просто, а вот с перекрываемыми свойствами последствия небось будут непредсказуемыми
Уважаемые, есть ли способ изменить (или заменить) встроенный макрос в шаблоне excel без ручного понижения параметров безопасности в самом excel?
Цитата:
при чем тут раздел по дельфи, тебе скорее всего либо в ексель вба, либо в андеграунд
При том, что сделать это надо из проги, написанной на дельфи. И это не вирус не беспокойтесь .
Вот тут нашел кое что, (http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1273) но непонял до конца можно это сделать или всё таки нет...
Люди, не подскажете: где-то читал, что в D2007 вернули возможность сделать классический вид (как у D2-7). Даже скрин видел. Но Classic Undocked однако палитру оставляет в стиле D2005+, а ссылку на источник инфы я где-то профукал. Может кто-нибудь знает КАК это сделать ?
Привет.
Работаю в Делфи 7 с Файрбеод 1.5
Нужно сделать пргу один к многим. Нужно писать в главную таблицу данные и в соединенный таблицу несколько записей а потом это все сохранить вместе. Как это можно организовать. И еще где можно прочитать как можно создавать, редактировать, просмотреть таблицы Фаербеода в Делфи.
Работаю в Делфи 7 с Файрбеод 1.5
Нужно сделать пргу один к многим. Нужно писать в главную таблицу данные и в соединенный таблицу несколько записей а потом это все сохранить вместе. Как это можно организовать. И еще где можно прочитать как можно создавать, редактировать, просмотреть таблицы Фаербеода в Делфи.
ERO1
Запись можно сделать так:
1. Запускаете транзакцию
2. Вносите информацию в главную таблицу
3. Получаете значение первичного ключа строки внесенной в п.2
4. Вносите данные в подчиненную таблицу используя значение, полученное в п.3.
5. Подтверждаете транзакцию
Для работы с Firebird, а так же InterBase, удобно использовать компоненты FIBPlus (http://devrace.com). На сайте разработчика есть разные статьи, например "FIBPlus: Особенности механизма master-detail при работе с InterBase и Firebird".
И есть хорошая книга "Мир InterBase", в сети видел электронную версию.
Запись можно сделать так:
1. Запускаете транзакцию
2. Вносите информацию в главную таблицу
3. Получаете значение первичного ключа строки внесенной в п.2
4. Вносите данные в подчиненную таблицу используя значение, полученное в п.3.
5. Подтверждаете транзакцию
Для работы с Firebird, а так же InterBase, удобно использовать компоненты FIBPlus (http://devrace.com). На сайте разработчика есть разные статьи, например "FIBPlus: Особенности механизма master-detail при работе с InterBase и Firebird".
И есть хорошая книга "Мир InterBase", в сети видел электронную версию.
Цитата:
И еще где можно прочитать как можно создавать, редактировать, просмотреть таблицы Фаербеода в Делфи.
Всё зависит от того, какие компоненты доступа к БД будут использоваться.
Если InterBase Express (IBX), то в справке по Delphi, если FIBPlus (рекоммендую), то на http://www.fibplus.com
Для создания и администрирования БД - IBExpert
http://www.hk-software.net/ibexpert.com/content/
Много полезной информации на http://ibase.ru
Ну и купить пару книг:
Хелен Борри. Firebird. Руководство разработчика баз данных
Мир Interbase, А.Н. Ковязин, С.М.Востриков
ERO1
Еще надо поставить CachedUpdates на Detail-dataset.
Еще надо поставить CachedUpdates на Detail-dataset.
Привет всем!
Такой вопрос:
Как сделать так, чтобы InternetExplorer работал с мои собственным протоколом?
Например, типа как "about:", "res:".
Я видал программы, которые работают через гипертекстовый интерфейс целиком и полностью. Грузиться всё: и страницы и картинки и флэши.
И всё это через какой-то "kuku:\\...."
Из программы вышел и поддержка "kuku:" исчезла.
Тобишь оно как-то зарегило свой протокол, а по окончании программы регистрацию убрало.
Причём всё это работает со стандартным меню IE. Я могу даже посмотреть на исходный HTML текст, который этим "kuku:\\" сгенирирован, даже добавить его в закладки!
И причём всё это написано на Дельфи!!!
Люди, помогите! Где хоть что-нить по этому поводу почитать? Может какие-то библиотеки существуют? А может хотя бы кто-нибудь знает как это правильно называется? Чтобы я мог хотя бы в Google поискать. А то ничо кроме TWebBrowser я найти не могу.
Такой вопрос:
Как сделать так, чтобы InternetExplorer работал с мои собственным протоколом?
Например, типа как "about:", "res:".
Я видал программы, которые работают через гипертекстовый интерфейс целиком и полностью. Грузиться всё: и страницы и картинки и флэши.
И всё это через какой-то "kuku:\\...."
Из программы вышел и поддержка "kuku:" исчезла.
Тобишь оно как-то зарегило свой протокол, а по окончании программы регистрацию убрало.
Причём всё это работает со стандартным меню IE. Я могу даже посмотреть на исходный HTML текст, который этим "kuku:\\" сгенирирован, даже добавить его в закладки!
И причём всё это написано на Дельфи!!!
Люди, помогите! Где хоть что-нить по этому поводу почитать? Может какие-то библиотеки существуют? А может хотя бы кто-нибудь знает как это правильно называется? Чтобы я мог хотя бы в Google поискать. А то ничо кроме TWebBrowser я найти не могу.
У меня нет FIBPlus.
Я пользуюсь стандартными компонентами для соединение с базой.
Сделал как написали почти получился на это не результат.
У кого небуд есть примеры. С Стандартные демо примерами не разобрался. Мне нужно сделать в одной форме ввод основных данных и тамже на таблице заполнят подчененую таблицу. И потом сохраният данные. Нужно толко одно кнопка для сохранения. Но уменя не получается.
Я пользуюсь стандартными компонентами для соединение с базой.
Сделал как написали почти получился на это не результат.
У кого небуд есть примеры. С Стандартные демо примерами не разобрался. Мне нужно сделать в одной форме ввод основных данных и тамже на таблице заполнят подчененую таблицу. И потом сохраният данные. Нужно толко одно кнопка для сохранения. Но уменя не получается.
Saxonika
Цитата:
Я так понимаю, что это называется "Pluggable Protocol Handler".
Кажется, здесь было: _http://www.bsalsa.com
Ну и вдогонку приятный сайт на ту же тематику _http://www.evocorp.com/Delphi/AdvancedDelphi.htm
И вот эти два файлика:
_http://www.torry.net/samples/samples/internet/iehelper.zip (здесь протокол точно есть)
_http://www.torry.net/vcl/internet/browsers/vkiehelper.zip (ну и опять же вдогонку )
Цитата:
Как сделать так, чтобы InternetExplorer работал с мои собственным протоколом?
Например, типа как "about:", "res:".
Я так понимаю, что это называется "Pluggable Protocol Handler".
Кажется, здесь было: _http://www.bsalsa.com
Ну и вдогонку приятный сайт на ту же тематику _http://www.evocorp.com/Delphi/AdvancedDelphi.htm
И вот эти два файлика:
_http://www.torry.net/samples/samples/internet/iehelper.zip (здесь протокол точно есть)
_http://www.torry.net/vcl/internet/browsers/vkiehelper.zip (ну и опять же вдогонку )
Arvur
Спасибо, буду смотреть.
Спасибо, буду смотреть.
ERO1
1. При вставке записи в основную таблицу получаем ID записи.
2. Начинаем транзакцию
3. Вставляем запись в основную таблицу.
4. Для каждой записи из подчинной таблице нужно использовать как часть ключа ID из п1.
5. Фиксация или откат транзакции.
Как это все проектировать читайте либо книжку по проектированию БД, книжку по IB которые указал gpi, либо PDF от 6-й версии (totorial, Data definition да и другие тоже). В свое время я по ним учился (только тогда 4.х) был.
1. При вставке записи в основную таблицу получаем ID записи.
2. Начинаем транзакцию
3. Вставляем запись в основную таблицу.
4. Для каждой записи из подчинной таблице нужно использовать как часть ключа ID из п1.
5. Фиксация или откат транзакции.
Как это все проектировать читайте либо книжку по проектированию БД, книжку по IB которые указал gpi, либо PDF от 6-й версии (totorial, Data definition да и другие тоже). В свое время я по ним учился (только тогда 4.х) был.
Подскажите - есть ли в Delphi возможность задавать статические методы (типа как в Java)
к примеру:
myclass = class
function static_method():boolean;
private
public
end.
а потом чтобы в коде можно было вызывать без привязки к объекту: -
myclass.static_method();
такой код работать не хочет - подскажите есть ли в дельфи подобное или альтернативы?
и еще интерсно есть ли возможность задать константу - тоже связанную с конкретным классом - т.е аналог
(public static final в Java)
к примеру:
myclass = class
function static_method():boolean;
private
public
end.
а потом чтобы в коде можно было вызывать без привязки к объекту: -
myclass.static_method();
такой код работать не хочет - подскажите есть ли в дельфи подобное или альтернативы?
и еще интерсно есть ли возможность задать константу - тоже связанную с конкретным классом - т.е аналог
(public static final в Java)
Цитата:
type
TMyClass = class (TObject)
class function MyValue:integer; virtual; abstract;
end;
TOurClass = class (TMyClass)
class function MyValue:integer; override;
end;
TYourClass = class of TMyClass;
class function TOurClass.MyValue:integer;
begin
result := 5;
end;
procedure TForm1.Button1Click(Sender: TObject);
var C:TYourClass;
begin
ShowMessage (inttostr(TMyClass.MyValue)); // Wow! Error
ShowMessage (inttostr(TOurClass.MyValue)); // Wow! 5
C := TOurClass;
ShowMessage (inttostr(C.MyValue)); // Wow! 5
end;
Какая функция в дельфи разворачивает форму на весь экран?
GreatOne
Цитата:
Это в properties: WindowState := wsMaximized;
Цитата:
Какая функция в дельфи разворачивает форму на весь экран?
Это в properties: WindowState := wsMaximized;
Цитата:
Это в properties: WindowState := wsMaximized;
Спасибо!
Работаю с Firebird Embedded какие спмые простые компоненты можно использавать? Мне нужно только процедуры запускать.
zeroandruxa
есть стандартные IBExpress, но ИМХО лучше FIBPlus использовать
есть стандартные IBExpress, но ИМХО лучше FIBPlus использовать
31416
Вот пример насчет Static
Цитата:
Вот пример насчет Static
Цитата:
TFigure = Class
strict private
class var mCount: integer;
public
class function Draw():boolean; static;
End;
TRectangle = Class(TFigure)
public
/////
End;
class function TFigure.Draw: boolean;
begin
mCount:= mCount + 1;
MessageDlg('Draw Figure'+IntToStr(mCount), mtWarning, [mbOK], 0);
end;
Var mClas : Trectangle;
mClas2: TRectangle;
begin
mClas2:=Trectangle.Create;
mClas:=Trectangle.Create;
mClas2.Draw; //Здесь будет mCount = 1
mClas.Draw; //Здесь будет mCount = 2
mClas.Free;
mClas2.Free;
Как подключиться к БД Access у которой есть файл рабочей группы? Вхожу под админской учеткой - пишет что "БД отсутсвует или открыта с монопольным доступом другим юзером". Как настроить соединение кто может подсказать?
GreatOne
У тебя выставлено свойство. Нужно в нем
Jet OLEDB:System database прописать твой файл рабочей группы.
У тебя выставлено свойство. Нужно в нем
Jet OLEDB:System database прописать твой файл рабочей группы.
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: 1С: Конвертация данных 2.0
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.