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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2015, 13:57   #1
GalaiAnton
Пользователь
 
Регистрация: 07.03.2015
Сообщений: 37
По умолчанию Почему не хочет открывать гиперссылку из БД в memo?

Я создал БД,там хранятся гиперссылки на файлы,которые мне надо открыть...
Код:
 ADOQuery1.close;
  ADOQuery1.SQL.Add('SELECT * FROM Вопросы WHERE id = 1');
  ADOQuery1.open;
  Form2.Memo1.Lines.Clear;
  While not ADOQuery1.Eof do
  begin
  Form2.Memo1.Lines.Add(ADOQuery1.Fields.FieldByName('bilet').asstring);
  ADOQuery1.next;
Оно мне пишет в итоге в memo
Билеты\B1.txt#Билеты\B1.txt#
а текст,который хранится в файле не хочет открывать,подскажите,что сделать,чтобы открыл?
GalaiAnton вне форума Ответить с цитированием
Старый 22.04.2015, 13:59   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну вы добавляете текст ссылки в мемо, оно вам и выводит.
чтоб он грузил из файла надо грузить из файла, ваш К.О.
Memo1.Lines.LoadFromFile
только проверте чтоб у вас формат строки нормальный был.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.04.2015, 14:03   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не вижу гиперссылки. Вижу что-то вроде относительного пути на файл. И Memo не умеет с гиперссылками работать. По клику в Мемо вычислять строку и по имени файла в строке программно открывать его и показывать где-то
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.04.2015, 14:05   #4
GalaiAnton
Пользователь
 
Регистрация: 07.03.2015
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну вы добавляете текст ссылки в мемо, оно вам и выводит.
чтоб он грузил из файла надо грузить из файла, ваш К.О.
Memo1.Lines.LoadFromFile
только проверьте чтоб у вас формат строки нормальный был.
Я так делал,но преподаватель сказал,что нужно чтобы загружало из БД текст,так может просто сделать в БД текстовый формат ячейки?
Или все-таки можно как-то вывести текстовый файл из БД?
GalaiAnton вне форума Ответить с цитированием
Старый 22.04.2015, 14:15   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты добавляешь в Мемо, а что потом происходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2015, 14:22   #6
GalaiAnton
Пользователь
 
Регистрация: 07.03.2015
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ты добавляешь в Мемо, а что потом происходит?
Все,я понял как!!!
Код:
Form2.Memo1.Lines.Add(ADOQuery1.Fields.FieldByName('bilet').asstring);
  Form2.Memo1.Lines.LoadFromFile('Билеты\B1.txt');
Теперь все работает)

Последний раз редактировалось GalaiAnton; 22.04.2015 в 14:25.
GalaiAnton вне форума Ответить с цитированием
Старый 22.04.2015, 15:11   #7
GalaiAnton
Пользователь
 
Регистрация: 07.03.2015
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ты добавляешь в Мемо, а что потом происходит?
Код:
case ComboBox1.ItemIndex of
0:begin
  ADOQuery1.SQL.Add('SELECT * FROM Вопросы WHERE id = 1');
  ADOQuery1.open;
  Form2.Memo1.Lines.Clear;
  Form2.Memo1.Lines.Add(ADOQuery1.Fields.FieldByName('bilet').asstring);
  Form2.Memo1.Lines.LoadFromFile('Билеты\B1.txt');
  ADOQuery1.Close;
  end;
1:begin
  ADOQuery1.SQL.Add('SELECT * FROM Вопросы WHERE id = 2');
  ADOQuery1.open;
  Form2.Memo1.Lines.Clear;
  Form2.Memo1.Lines.Add(ADOQuery1.Fields.FieldByName('bilet').asstring);
  Form2.Memo1.Lines.LoadFromFile('Билеты\B2.txt');
  ADOQuery1.Close;
  end;
Почему то,когда я открываю первый билет,потом нажимаю новую комбинацию,хочу открыть второй билет,то выскакивает ошибка:
Ошибка синтаксиса.в варажении запроса id=1 SELECT * FROM Вопросы WHERE id = 2...
Как ее исправить,подскажите...
GalaiAnton вне форума Ответить с цитированием
Старый 22.04.2015, 15:19   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от GalaiAnton Посмотреть сообщение
Код:
case ComboBox1.ItemIndex of
0:begin
  ADOQuery1.SQL.Add('SELECT * FROM Вопросы WHERE id = 1');
  ADOQuery1.open;
  Form2.Memo1.Lines.Clear;
  Form2.Memo1.Lines.Add(ADOQuery1.Fields.FieldByName('bilet').asstring);
  Form2.Memo1.Lines.LoadFromFile('Билеты\B1.txt');
  ADOQuery1.Close;
  end;
1:begin
  ADOQuery1.SQL.Add('SELECT * FROM Вопросы WHERE id = 2');
  ADOQuery1.open;
  Form2.Memo1.Lines.Clear;
  Form2.Memo1.Lines.Add(ADOQuery1.Fields.FieldByName('bilet').asstring);
  Form2.Memo1.Lines.LoadFromFile('Билеты\B2.txt');
  ADOQuery1.Close;
  end;
Почему то,когда я открываю первый билет,потом нажимаю новую комбинацию,хочу открыть второй билет,то выскакивает ошибка:
Ошибка синтаксиса.в варажении запроса id=1 SELECT * FROM Вопросы WHERE id = 2...
Как ее исправить,подскажите...
ADOQuery1.SQL.Add('SELECT * FROM Вопросы WHERE id = 2');
заменить на
ADOQuery1.SQL.Text:='SELECT * FROM Вопросы WHERE id = 2';
northener вне форума Ответить с цитированием
Старый 22.04.2015, 15:29   #9
GalaiAnton
Пользователь
 
Регистрация: 07.03.2015
Сообщений: 37
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
ADOQuery1.SQL.Add('SELECT * FROM Вопросы WHERE id = 2');
заменить на
ADOQuery1.SQL.Text:='SELECT * FROM Вопросы WHERE id = 2';
Благодарю вас,все работает)
GalaiAnton вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите разобраться,почему не хочет выдавать значение в memo GalaiAnton Общие вопросы Delphi 1 20.04.2015 15:18
if не хочет работать, объясните почему! Npwas Помощь студентам 2 13.12.2011 22:22
webbrowser не хочет открывать файлы bLab Общие вопросы Delphi 9 09.10.2010 16:31
Почему Программа не хочет работать strateg0793 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 21.01.2010 14:10
почему не хочет увеличыватся digit2.Value? ZhekON Помощь студентам 2 19.04.2007 18:23