люди подскажите плз как заставить DBEdit быть редактируемым? данные выводит а изменить их в этом поле не могу...такое чувство что стоит readonly...но нет...пробовал и dataset.edit нифига..
» Вопросы по Delphi (до версии 2009) - часть 5
mdid
Какие компоненты доступа к данным? Если используется запрос, то нужно указать скл для модификации данных.
Какие компоненты доступа к данным? Если используется запрос, то нужно указать скл для модификации данных.
GPSGURU
Похоже на глюк какой то. Может даже у Энди уже фикс есть для этого: http://andy.jgknet.de/blog/
Похоже на глюк какой то. Может даже у Энди уже фикс есть для этого: http://andy.jgknet.de/blog/
mdid
Цитата:
Доступ к базе через АДО или БДЕ? Если второе - то надо использовать связку TQuery TUpdateSQL
Цитата:
люди подскажите плз как заставить DBEdit быть редактируемым? данные выводит а изменить их в этом поле не могу...такое чувство что стоит readonly...но нет...пробовал и dataset.edit нифига..
Доступ к базе через АДО или БДЕ? Если второе - то надо использовать связку TQuery TUpdateSQL
mdid
Если BDE, то смотри свойства TTable (Exclusive:=False; ReadOnly := False) к которому привязан DataSet.
Если BDE, то смотри свойства TTable (Exclusive:=False; ReadOnly := False) к которому привязан DataSet.
ADO и тейблами не пульзуюсь....
Все, сделал. Правда пришлось удалить все dcu файлы в проекте и скомпилировать заново.
mdid
Цитата:
А чем пользуешься?
Цитата:
ADO и тейблами не пульзуюсь....
А чем пользуешься?
ADOQuery...Table это ну как бы для новичков...он мало что позволяет сделать но в то же время простой...
использую для коннекта к sql server
ADOConnection+DataSource+ADOQuery
я конечно могу обойтись и без DBEdit...но просто описывать на много больше придется..
ПС
Цитата:
вот к чему приводит моя нелюбовь к запятым....я имел ввиду что использую ADO а тейблами не пульзуюсь
использую для коннекта к sql server
ADOConnection+DataSource+ADOQuery
я конечно могу обойтись и без DBEdit...но просто описывать на много больше придется..
ПС
Цитата:
ADO и тейблами не пульзуюсь....
вот к чему приводит моя нелюбовь к запятым....я имел ввиду что использую ADO а тейблами не пульзуюсь
mdid
Цитата:
а в другом посте
Цитата:
Ты уж определись, используешь ли ты АДО или нет
Выстави у DataSource AutoEDit в true и по идее должен нормально редактировать. У меня таких проблем не было.
Цитата:
ADO и тейблами не пульзуюсь....
а в другом посте
Цитата:
ADOQuery...
Ты уж определись, используешь ли ты АДО или нет
Выстави у DataSource AutoEDit в true и по идее должен нормально редактировать. У меня таких проблем не было.
AutoEdit стоит в true по умолчанию....блииин шож за напасть такая...опять подлая галка в компоненте заберет несколько часов.... на ровном месте
в общем всему виной запрос из 2 таблиц..так нельзя...с одной таблицы все поехало
в общем всему виной запрос из 2 таблиц..так нельзя...с одной таблицы все поехало
mdid
я бы сделал вьюшку на стороне сервера и работал с ней без проблем...
я бы сделал вьюшку на стороне сервера и работал с ней без проблем...
gelios
Цитата:
А разве Views меняют реальные данные в таблице? По моему (могу ошибаться ОФК) они предназначены только для выборки данных.
Цитата:
Как таблицы соединял (join или select from table1, table2)? На работе буду - попробую. Хотя я немного по другому при работе снесколькими табшицами действовал.
Цитата:
я бы сделал вьюшку на стороне сервера и работал с ней без проблем
А разве Views меняют реальные данные в таблице? По моему (могу ошибаться ОФК) они предназначены только для выборки данных.
Цитата:
в общем всему виной запрос из 2 таблиц..так нельзя...с одной таблицы все поехало
Как таблицы соединял (join или select from table1, table2)? На работе буду - попробую. Хотя я немного по другому при работе снесколькими табшицами действовал.
mdid
Какой текст запроса? Может есть повторяющиеся названия полей?
ShIvADeSt
Для MSSQL на view можно нацепить триггер который меняет данные в нужных таблицах.
Какой текст запроса? Может есть повторяющиеся названия полей?
ShIvADeSt
Для MSSQL на view можно нацепить триггер который меняет данные в нужных таблицах.
ShIvADeSt
Цитата:
_http://www.oracle-dba-online.com/sql/create_and_manage_views.htm
Цитата:
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
запрос вида
Код:
SELECT g.Наименование,g.Тип FROM group as g where g.Принадлежит='траляля'
union
SELECT s.Наименование,s.Тип FROM spr as s where s.Принадлежит='траляля'
Код:
SELECT g.Наименование,g.Тип FROM group as g where g.Принадлежит='траляля'
union
SELECT s.Наименование,s.Тип FROM spr as s where s.Принадлежит='траляля'
Ребята нужен совет экспертов.
Никогда не имел дела с графикой, проблема следующего рода.
Есть набор данных - две координаты (широта и долгота) и любое значение в этих координатах. Необходимо построить карту этих значений приблизительно такого вида
http://webb.nm.ru/kycher.jpg
Долго искал компоненты которые могут делать подобное но кроме SDL component suite ничего не нашел, а она поддерживает такие вещи с версии 9 а кроме 7.2 ничего нет.
Подскажите пожалуйста хотя бы направление, куда смотреть и что использовать.
Заранее благодарен
Никогда не имел дела с графикой, проблема следующего рода.
Есть набор данных - две координаты (широта и долгота) и любое значение в этих координатах. Необходимо построить карту этих значений приблизительно такого вида
http://webb.nm.ru/kycher.jpg
Долго искал компоненты которые могут делать подобное но кроме SDL component suite ничего не нашел, а она поддерживает такие вещи с версии 9 а кроме 7.2 ничего нет.
Подскажите пожалуйста хотя бы направление, куда смотреть и что использовать.
Заранее благодарен
вопрос... в чем ошибка
Код: 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;
Код: 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;
Delta RuBoard
Ну допустим на нулевой итерации вы преобразите "a" в "h". А что произойдет на седьмой итерации?
Для наглядности предлагаю после строки со StringReplace вставить:
Код: Edit2.Repaint;
sleep(250);
Ну допустим на нулевой итерации вы преобразите "a" в "h". А что произойдет на седьмой итерации?
Для наглядности предлагаю после строки со StringReplace вставить:
Код: Edit2.Repaint;
sleep(250);
dmmarch
Ну раз уже такое очень нужно, можно и самому сделать. Как видно по карте, там простой закон изменения цвета - КОЖЗГСФ.
Берите красный цвет в формате HSV и изменяйте в нём параметр H с нужным шагом. После переводите HSV в RGB и отмечаете на битмапе.
Ну раз уже такое очень нужно, можно и самому сделать. Как видно по карте, там простой закон изменения цвета - КОЖЗГСФ.
Берите красный цвет в формате HSV и изменяйте в нём параметр H с нужным шагом. После переводите HSV в RGB и отмечаете на битмапе.
Цитата:
Ну раз уже такое очень нужно, можно и самому сделать. Как видно по карте, там простой закон изменения цвета - КОЖЗГСФ.
Берите красный цвет в формате HSV и изменяйте в нём параметр H с нужным шагом. После переводите HSV в RGB и отмечаете на битмапе.
Спасибо, а что делат с подсветкой?
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);
Алгоритм Цезаря? Объясняю в краце что у тебя происходит. Ты переводишь а в б,но после этого у тебя на след этапе цикла б переходит в в и так далее.
Тебе надо не 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
Ну допустим на нулевой итерации вы преобразите "a" в "h". А что произойдет на седьмой итерации?
Для наглядности предлагаю после строки со StringReplace вставить:
бр, теперь оно мне во втором едите показывает циклы замен, но в итоге меняет на тоже самое что и изначально.. я не понимаю как это сделать на делфи на пхп все гараздо проще и компактнее
Добавлено:
ShIvADeSt да, он. только я не много не понял что делает данный кусок кода =\
Добавлено:
Код: AStart:=$41;
dmmarch
Какая подсветка? В этом этом спектре уже заложены различные градации.
Какая подсветка? В этом этом спектре уже заложены различные градации.
Код: 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;
Hiken
Я имел ввиду псевдо 3Д, я так понимаю что если садить на битмет по цветам картинка получится 2Д или я не прав?
Я имел ввиду псевдо 3Д, я так понимаю что если садить на битмет по цветам картинка получится 2Д или я не прав?
Стало интересно, написал свой вариант:
Код: [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]
Код: [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]
dmmarch
Какое еще псевдо-3D? То, что картинка немного сужена кверху? Ну так, если нужны подобные трансформации, смотрите в сторону афинных преобразований или уже готовых библиотек на эту тему.
Так понимаю, у вас это температурная карта, или карта высот, что в массиве храниться? Поделите весь диапазон возможных значений на некоторое количество. В соответствии с ним же получится и шаг для параметра H.
Какое еще псевдо-3D? То, что картинка немного сужена кверху? Ну так, если нужны подобные трансформации, смотрите в сторону афинных преобразований или уже готовых библиотек на эту тему.
Так понимаю, у вас это температурная карта, или карта высот, что в массиве храниться? Поделите весь диапазон возможных значений на некоторое количество. В соответствии с ним же получится и шаг для параметра H.
Hiken
Там еще тени красивые.
Там еще тени красивые.
Frodo_Torbins
А, ну дык всегда можно покрутить параметры S и L, в зависимости от чего-нибудь - уже самому посмотреть-подумать.
А, ну дык всегда можно покрутить параметры S и L, в зависимости от чего-нибудь - уже самому посмотреть-подумать.
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
Предыдущая тема: Clipper 5
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.