Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2008, 12:32   #1
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию DBEdit

возникла проблема
в своей программе перехожу на форму редактирования записи. там есть 3 поля - имя (dbedit1), описание (dbmemo1) и изображение (dbedit2)
поле dbedit2 содержит имя картинки.
вот в чём проблема: нажимаю кнопку "Изменить изображение", выбираю нужный файл, нажимаю "Открыть". В компонент Image1 загружается выбранная картинка, а в dbedit2 меняется имя файла. Но когда я нажимаю на dbedit2 имя файла меняется на предыдущее. Таким образом изображение не меняется.

вот часть кода:
Код:
procedure TForm3.spSkinButton1Click(Sender: TObject);
begin
pn:='';
if spSkinOpenPictureDialog1.Execute then
begin
pn:=spSkinOpenPictureDialog1.FileName;
Image1.Picture.LoadFromFile(pn);

pnf:='';
for i:=length(pn) downto 1 do
if pn[i]<>'\'then pnf:=pn[i]+pnf
else break;
end;


DBEdit2.Text:=pnf;
DBEdit2.EditText:=pnf;
end;
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 19.05.2008, 12:38   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

надо менять не текст в эдите, а значение в базе. кажется как-то так:
Код:
procedure TForm3.spSkinButton1Click(Sender: TObject);
begin
pn:='';
if spSkinOpenPictureDialog1.Execute then
begin
pn:=spSkinOpenPictureDialog1.FileName;
Image1.Picture.LoadFromFile(pn);

pnf:='';
for i:=length(pn) downto 1 do
if pn[i]<>'\'then pnf:=pn[i]+pnf
else break;
end;


DBEdit2.Field.AsString:=pnf;
end;
pu4koff вне форума Ответить с цитированием
Старый 19.05.2008, 12:44   #3
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

Пишет DataSet not in edit or insert mode.
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 19.05.2008, 12:55   #4
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

а если изменять dbedit2 вручную, то сохраняется
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 19.05.2008, 13:12   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

простите. Совсем забыл.
Надо сначала перевести в режим редактирования:
DBEdit2.DataSource.DataSet.Edit;
потом меняем значение:
DBEdit2.Field.AsString:=pnf;
и фиксируем изменение, если нужно:
DBEdit2.DataSource.DataSet.Post;
pu4koff вне форума Ответить с цитированием
Старый 19.05.2008, 13:18   #6
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

уряя!!! работает
спасибо
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение пола в DBEdit ГОСЕАН БД в Delphi 5 20.12.2007 17:56
Вывод похожего названия в DBEdit Wiser87 БД в Delphi 2 06.06.2007 11:42
нужна помошь с таблицами и DBEdit akaBd БД в Delphi 7 18.03.2007 19:15