Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (до версии 2009) - часть 5

Автор: mdid
Дата сообщения: 17.09.2009 21:54
люди подскажите плз как заставить DBEdit быть редактируемым? данные выводит а изменить их в этом поле не могу...такое чувство что стоит readonly...но нет...пробовал и dataset.edit нифига..
Автор: volser
Дата сообщения: 17.09.2009 22:05
mdid
Какие компоненты доступа к данным? Если используется запрос, то нужно указать скл для модификации данных.
Автор: Frodo_Torbins
Дата сообщения: 17.09.2009 22:41
GPSGURU
Похоже на глюк какой то. Может даже у Энди уже фикс есть для этого: http://andy.jgknet.de/blog/
Автор: ShIvADeSt
Дата сообщения: 18.09.2009 00:54
mdid

Цитата:
люди подскажите плз как заставить DBEdit быть редактируемым? данные выводит а изменить их в этом поле не могу...такое чувство что стоит readonly...но нет...пробовал и dataset.edit нифига..

Доступ к базе через АДО или БДЕ? Если второе - то надо использовать связку TQuery TUpdateSQL
Автор: Alex_Kanahin
Дата сообщения: 18.09.2009 05:27
mdid
Если BDE, то смотри свойства TTable (Exclusive:=False; ReadOnly := False) к которому привязан DataSet.
Автор: mdid
Дата сообщения: 18.09.2009 09:31
ADO и тейблами не пульзуюсь....
Автор: GPSGURU
Дата сообщения: 18.09.2009 10:07
Все, сделал. Правда пришлось удалить все dcu файлы в проекте и скомпилировать заново.
Автор: volser
Дата сообщения: 18.09.2009 10:47
mdid

Цитата:
ADO и тейблами не пульзуюсь....

А чем пользуешься?
Автор: mdid
Дата сообщения: 18.09.2009 10:57
ADOQuery...Table это ну как бы для новичков...он мало что позволяет сделать но в то же время простой...
использую для коннекта к sql server
ADOConnection+DataSource+ADOQuery
я конечно могу обойтись и без DBEdit...но просто описывать на много больше придется..
ПС

Цитата:
ADO и тейблами не пульзуюсь....

вот к чему приводит моя нелюбовь к запятым....я имел ввиду что использую ADO а тейблами не пульзуюсь
Автор: ShIvADeSt
Дата сообщения: 18.09.2009 11:43
mdid

Цитата:
ADO и тейблами не пульзуюсь....

а в другом посте

Цитата:
ADOQuery...

Ты уж определись, используешь ли ты АДО или нет
Выстави у DataSource AutoEDit в true и по идее должен нормально редактировать. У меня таких проблем не было.

Автор: mdid
Дата сообщения: 18.09.2009 11:59
AutoEdit стоит в true по умолчанию....блииин шож за напасть такая...опять подлая галка в компоненте заберет несколько часов.... на ровном месте

в общем всему виной запрос из 2 таблиц..так нельзя...с одной таблицы все поехало
Автор: gelios
Дата сообщения: 18.09.2009 14:10
mdid
я бы сделал вьюшку на стороне сервера и работал с ней без проблем...
Автор: ShIvADeSt
Дата сообщения: 18.09.2009 14:42
gelios

Цитата:
я бы сделал вьюшку на стороне сервера и работал с ней без проблем

А разве Views меняют реальные данные в таблице? По моему (могу ошибаться ОФК) они предназначены только для выборки данных.

Цитата:
в общем всему виной запрос из 2 таблиц..так нельзя...с одной таблицы все поехало

Как таблицы соединял (join или select from table1, table2)? На работе буду - попробую. Хотя я немного по другому при работе снесколькими табшицами действовал.
Автор: volser
Дата сообщения: 18.09.2009 15:28
mdid
Какой текст запроса? Может есть повторяющиеся названия полей?

ShIvADeSt
Для MSSQL на view можно нацепить триггер который меняет данные в нужных таблицах.
Автор: greenpc
Дата сообщения: 18.09.2009 19:01
ShIvADeSt

Цитата:
Views are known as logical tables. They represent the data of one of more tables. A view derives its data from the tables on which it is based. These tables are called base tables. Views can be based on actual tables or another view also.

Whatever DML operations you performed on a view they actually affect the base table of the view. You can treat views same as any other table. You can Query, Insert, Update and delete from views, just as any other table.

Views are very powerful and handy since they can be treated just like any other table but do not occupy the space of a table.

_http://www.oracle-dba-online.com/sql/create_and_manage_views.htm
Автор: mdid
Дата сообщения: 19.09.2009 09:55
запрос вида

Код:
SELECT g.Наименование,g.Тип FROM group as g where g.Принадлежит='траляля'
union
SELECT s.Наименование,s.Тип FROM spr as s where s.Принадлежит='траляля'
Автор: dmmarch
Дата сообщения: 19.09.2009 23:35
Ребята нужен совет экспертов.
Никогда не имел дела с графикой, проблема следующего рода.
Есть набор данных - две координаты (широта и долгота) и любое значение в этих координатах. Необходимо построить карту этих значений приблизительно такого вида
http://webb.nm.ru/kycher.jpg
Долго искал компоненты которые могут делать подобное но кроме SDL component suite ничего не нашел, а она поддерживает такие вещи с версии 9 а кроме 7.2 ничего нет.
Подскажите пожалуйста хотя бы направление, куда смотреть и что использовать.
Заранее благодарен
Автор: Delta RuBoard
Дата сообщения: 20.09.2009 02:45
вопрос... в чем ошибка


Код: function TForm1.Code():string;
var
ABC: array[0..51] of string;
i,k,q:integer;
begin
i := 7;
ABC[0] := 'a';
ABC[1] := 'b';
ABC[2] := 'c';
ABC[3] := 'd';
ABC[4] := 'e';
ABC[5] := 'f';
ABC[6] := 'g';
ABC[7] := 'h';
ABC[8] := 'i';
ABC[9] := 'j';
ABC[10] := 'k';
ABC[11] := 'l';
ABC[12] := 'm';
ABC[13] := 'n';
ABC[14] := 'o';
ABC[15] := 'p';
ABC[16] := 'q';
ABC[17] := 'r';
ABC[18] := 's';
ABC[19] := 't';
ABC[20] := 'u';
ABC[21] := 'v';
ABC[22] := 'w';
ABC[23] := 'x';
ABC[24] := 'y';
ABC[25] := 'z';
ABC[26] := 'A';
ABC[27] := 'B';
ABC[28] := 'C';
ABC[29] := 'D';
ABC[30] := 'E';
ABC[31] := 'F';
ABC[32] := 'G';
ABC[33] := 'H';
ABC[34] := 'I';
ABC[35] := 'J';
ABC[36] := 'K';
ABC[37] := 'L';
ABC[38] := 'M';
ABC[39] := 'N';
ABC[40] := 'O';
ABC[41] := 'P';
ABC[42] := 'Q';
ABC[43] := 'R';
ABC[44] := 'S';
ABC[45] := 'T';
ABC[46] := 'U';
ABC[47] := 'V';
ABC[48] := 'W';
ABC[49] := 'X';
ABC[50] := 'Y';
ABC[51] := 'Z';
Edit2.Text := Edit1.Text;
for k := 0 to 51 do begin
q:=7+k;
if q>=51 then q:=q-51;
Edit2.Text := StringReplace(Edit2.Text,ABC[k],ABC[q],[rfReplaceAll]);
end;
end;
Автор: Frodo_Torbins
Дата сообщения: 20.09.2009 10:28
Delta RuBoard
Ну допустим на нулевой итерации вы преобразите "a" в "h". А что произойдет на седьмой итерации?
Для наглядности предлагаю после строки со StringReplace вставить:

Код: Edit2.Repaint;
sleep(250);
Автор: Hiken
Дата сообщения: 20.09.2009 11:12
dmmarch
Ну раз уже такое очень нужно, можно и самому сделать. Как видно по карте, там простой закон изменения цвета - КОЖЗГСФ.

Берите красный цвет в формате HSV и изменяйте в нём параметр H с нужным шагом. После переводите HSV в RGB и отмечаете на битмапе.
Автор: dmmarch
Дата сообщения: 20.09.2009 11:17

Цитата:
Ну раз уже такое очень нужно, можно и самому сделать. Как видно по карте, там простой закон изменения цвета - КОЖЗГСФ.

Берите красный цвет в формате HSV и изменяйте в нём параметр H с нужным шагом. После переводите HSV в RGB и отмечаете на битмапе.

Спасибо, а что делат с подсветкой?
Автор: ShIvADeSt
Дата сообщения: 20.09.2009 11:30
Delta RuBoard
Алгоритм Цезаря? Объясняю в краце что у тебя происходит. Ты переводишь а в б,но после этого у тебя на след этапе цикла б переходит в в и так далее.
Тебе надо не StringReplace использовать, кстати гораздо проще можно так сделать

Код:
tStr:Edit2.Text;
AStart:=$41; /// начало англ алфавита в кодах
for i:=1 to Length(tStr) do
tStr[i]:=Chr(AStart + (Ord(tStr[i]) - AStart + 7) mod 52);
Автор: Delta RuBoard
Дата сообщения: 20.09.2009 11:35

Цитата:
Delta RuBoard
Ну допустим на нулевой итерации вы преобразите "a" в "h". А что произойдет на седьмой итерации?
Для наглядности предлагаю после строки со StringReplace вставить:

бр, теперь оно мне во втором едите показывает циклы замен, но в итоге меняет на тоже самое что и изначально.. я не понимаю как это сделать на делфи на пхп все гараздо проще и компактнее

Добавлено:
ShIvADeSt да, он. только я не много не понял что делает данный кусок кода =\

Добавлено:

Код: AStart:=$41;
Автор: Hiken
Дата сообщения: 20.09.2009 11:42
dmmarch
Какая подсветка? В этом этом спектре уже заложены различные градации.
Автор: Delta RuBoard
Дата сообщения: 20.09.2009 11:51

Код: function TForm1.Cesar_Crypt():string;
const
SizeA = 26;
RusA = 'abcdefghijklmnopqrstuvwxyz';
var i, P :integer;
temp,s:string;
begin
s:=AnsiLowerCase(Edit1.Text);
temp:='';
for i := 1 to length(s) do if pos(s[i],RusA)<>0 then temp:=temp+s[i];
s:=temp;
for i:=1 to length(s) do
begin
P:=pos(s[i],RusA)+1;
if P>SizeA then P:=P-SizeA;
Result:=Result+RusA[P];
end;
Edit2.Text := Result;
end;
Автор: dmmarch
Дата сообщения: 20.09.2009 12:16
Hiken
Я имел ввиду псевдо 3Д, я так понимаю что если садить на битмет по цветам картинка получится 2Д или я не прав?
Автор: Frodo_Torbins
Дата сообщения: 20.09.2009 12:21
Стало интересно, написал свой вариант:
Код: [no]procedure TForm1.Code;
var
tempS: string;
i, newVal: integer;

const
delta = 7; //будем сдвигать на delta символов
FirstChar = 'A';
LastChar = 'z';
WorkingSet = [FirstChar..LastChar]; //набор обрабатываемых символов
WorkingSetLength = Ord(LastChar) - Ord(FirstChar); //длина набора

begin
tempS := Edit1.Text; //с временной переменной быстрее работа

for i := 1 to Length(tempS) do //пробегаемся по строке
if tempS[i] in WorkingSet then //все, что не является буквой, не трогаем
begin
newVal := Ord(tempS[i]) + delta; //номер нового символа
if newVal > ord(LastChar) then //если вышли за границы набора
newVal := newVal - WorkingSetLength; //то возвращаемся в начало
tempS[i] := Chr(newVal); //изменяем нужный символ
end;

Edit2.Text := tempS;
end;[/no]
Автор: Hiken
Дата сообщения: 20.09.2009 12:35
dmmarch
Какое еще псевдо-3D? То, что картинка немного сужена кверху? Ну так, если нужны подобные трансформации, смотрите в сторону афинных преобразований или уже готовых библиотек на эту тему.

Так понимаю, у вас это температурная карта, или карта высот, что в массиве храниться? Поделите весь диапазон возможных значений на некоторое количество. В соответствии с ним же получится и шаг для параметра H.
Автор: Frodo_Torbins
Дата сообщения: 20.09.2009 12:47
Hiken
Там еще тени красивые.
Автор: Hiken
Дата сообщения: 20.09.2009 12:49
Frodo_Torbins
А, ну дык всегда можно покрутить параметры S и L, в зависимости от чего-нибудь - уже самому посмотреть-подумать.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Clipper 5


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.