Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.03.2011, 18:29
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию Как совместить в один файл и картинку и текст

Здравствуйте Уважаемые подскажите пожалуйста
вопрос заключается в следующем мне нужно сделать тестирующую систему с различными видами вопросов для этого мне необходимо сделать файл в котором сохранить можно было и картинки и текст причем он должен быть не читаем другими средствами, какой файл можно для этого использовать и как примерно будет это происходить (в смысле чтение, запись, перезапись)??

Искал по форуму нашел готовую тест систему но она мне не понравилась т.к. там не было выбора ответов с несколькими правильными вариантами Решил так сказать своим трудом сделать а загвозка вся в не понятной организации самого теста. Заранее благодарен...
Ответить с цитированием
  #2  
Старый 09.03.2011, 18:42
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

http://tinyurl.com/6e5wxut

То бишь, примерно так:
Код:
type
  TJPGRec = Record    
    fName: String[255];
    fDate: String[30];
    fSize: LongWord;   
    fImgBytes: Pointer;
    fText: String[255];
end;
И сохранять все это в файл. А так как в файле будет много картинок с текстом, то использовать массив.
__________________
Помогаю за Спасибо

Последний раз редактировалось v1s2222, 09.03.2011 в 18:45.
Ответить с цитированием
  #3  
Старый 09.03.2011, 19:26
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от v1s2222
http://tinyurl.com/6e5wxut

То бишь, примерно так:
Код:
type
  TJPGRec = Record    
    fName: String[255];
    fDate: String[30];
    fSize: LongWord;   
    fImgBytes: Pointer;
    fText: String[255];
end;
И сохранять все это в файл. А так как в файле будет много картинок с текстом, то использовать массив.

как я понимаю fImgBytes: Pointer; вот в этой переменной будет записываться картинка скажите пожалуйста как в таком случае добавить туда картинку

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

и если такой проблемы нет и я все таки ошибаюсь что нужно обязательно заполнять все поля в тип. файле то объясните пожалуйста в какой формат файла нужно записать тип. файл

p.s. и поясните плис если не трудно эту строчку
TJPGRec = Record

p.p.s. я поисковиками поскальзывался но внятного объяснения там так и не нашел решил поговорить напрямую с умными людьми
Ответить с цитированием
  #4  
Старый 09.03.2011, 19:32
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Поисковик...
Код:
FileOpen 
GetMem 
FileSeek 
FileRead 
FileClose 
FileWrite 
FreeMem 
Все, что тебе надо...

JPGRec = Record - просто объявляем тип рекорд (и опять же, все есть в гугле!).
http://www.google.ru/#hl=ru&newwindo... 2973e3607727
__________________
Помогаю за Спасибо

Последний раз редактировалось v1s2222, 09.03.2011 в 19:39.
Ответить с цитированием
  #5  
Старый 09.03.2011, 19:56
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Лучше TFileStream и набор классов, обеспечивающих запись/чтение.
Ответить с цитированием
  #6  
Старый 09.03.2011, 20:02
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от v1s2222
Поисковик...
Код:
FileOpen 
GetMem 
FileSeek 
FileRead 
FileClose 
FileWrite 
FreeMem 
Все, что тебе надо...

JPGRec = Record - просто объявляем тип рекорд (и опять же, все есть в гугле!).
http://www.google.ru/#hl=ru&newwindo... 2973e3607727
А что на счет того что нужно или нет записывать в тип. файл все записи (картинка строка число) или нет?
Ответить с цитированием
  #7  
Старый 09.03.2011, 20:07
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Лучше TFileStream и набор классов, обеспечивающих запись/чтение.
А чем он лучше? там можно организовать произвольную структуру?
Ответить с цитированием
  #8  
Старый 09.03.2011, 22:14
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

TFileStream позволит записать произвольную структуру в файл, как следствие в вопросе может быть, а может и не быть картинки, может быть любое число символов в вопросе, варианте ответа, ответов тоже может быть разное количество.
Когда свою тестилку классе в 10-11 для какого-то конкурса писал, то не стал заморачиваться и разделил картики для вопросв и сами тесты по разным папкам.
Теперь опять пишу тестилку, но уже в плане курсовой, там использую xml+rtf для тестов (ох и задолбался я тестилки изобретать)
Действительно, можно использовать rtf - в текст можно вставить картинку и она останется в документе, а ртф он по сути своей просто текст, так что можно объеденить его уже по какой-то другой структуре, и для полного счастья еще пожать тем же зипом, благо делфи это умеет, а архивчег просто так не откроется..
Ответить с цитированием
  #9  
Старый 10.03.2011, 12:35
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от ChinYan
TFileStream позволит записать произвольную структуру в файл, как следствие в вопросе может быть, а может и не быть картинки, может быть любое число символов в вопросе, варианте ответа, ответов тоже может быть разное количество.
Когда свою тестилку классе в 10-11 для какого-то конкурса писал, то не стал заморачиваться и разделил картики для вопросв и сами тесты по разным папкам.
Теперь опять пишу тестилку, но уже в плане курсовой, там использую xml+rtf для тестов (ох и задолбался я тестилки изобретать)
Действительно, можно использовать rtf - в текст можно вставить картинку и она останется в документе, а ртф он по сути своей просто текст, так что можно объеденить его уже по какой-то другой структуре, и для полного счастья еще пожать тем же зипом, благо делфи это умеет, а архивчег просто так не откроется..
rtf и xml на скоко я знаю открываются текстовыми редакторами и для нормального хранения в них скрытой инфы надо будет их шифровать
но идейку Вы мне супер поткинули как выход разбить тест отдельно картинки отдельно а для ссылки на картинки в тексте просто зашифровать путь к ней
может есть у кого еще проще вариант?

p.s. с архивами почемуто не хочу заморачиваться
Ответить с цитированием
  #10  
Старый 10.03.2011, 12:46
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Валяется "в закромах" редактор тестов и тестилка. Написаная в позапрошлом году для дипломника. Редактор тестов (если не забуду) вечером выложу. А тестилку надо избавлять от логотипов и ссылок на ВУЗ и Дипломника, так что пока не дам
Там как раз реализуется набор классов для теста с записью и чтением в поток (TFileStream).

П.С. главное не забыть...
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #11  
Старый 10.03.2011, 15:08
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Цитата:
Сообщение от SawA
rtf и xml на скоко я знаю открываются текстовыми редакторами и для нормального хранения в них скрытой инфы надо будет их шифровать
но идейку Вы мне супер поткинули как выход разбить тест отдельно картинки отдельно а для ссылки на картинки в тексте просто зашифровать путь к ней
может есть у кого еще проще вариант?

p.s. с архивами почемуто не хочу заморачиваться

Я вообще имел в виду, что дабы препятствовать открытию блокнотом и разжирению файла его можно пожать архиватором, причем в Делфи это это сделать просто (где-то в исходниках был пример)

Цитата:
а для ссылки на картинки в тексте просто зашифровать

Я иначе делал - на каждый тест создавалась отдельная папка, и в ней был файл с вопросами и подпапка Images, где лежали картинки. Файл с вопросами сжимался и и открыть его ни блокнотом, ни чем-нибудь еще не удавалось
Ответить с цитированием
  #12  
Старый 10.03.2011, 16:14
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от dr. F.I.N.
Валяется "в закромах" редактор тестов и тестилка. Написаная в позапрошлом году для дипломника. Редактор тестов (если не забуду) вечером выложу. А тестилку надо избавлять от логотипов и ссылок на ВУЗ и Дипломника, так что пока не дам
Там как раз реализуется набор классов для теста с записью и чтением в поток (TFileStream).

П.С. главное не забыть...

Был бы очень признателен познакомится с Вашей работой а то я о таком методе токо здесь услышал..
Ответить с цитированием
  #13  
Старый 10.03.2011, 16:16
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от ChinYan
Я иначе делал - на каждый тест создавалась отдельная папка, и в ней был файл с вопросами и подпапка Images, где лежали картинки. Файл с вопросами сжимался и и открыть его ни блокнотом, ни чем-нибудь еще не удавалось

Т.е. Вы делали тест к примеру в блокноте потом за архивировали архивом зип, далее ставили под пароль и открывали черес делфи?
Ответить с цитированием
  #14  
Старый 10.03.2011, 16:55
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Было две программы. Одна тестилка, друга тестосоздавалка. Во второй создаются тесты. Эта же программа файл с вопросами, созданный по определенной структуре, сжимала средствами делфи, что приводило к тому, что этот файл открыть можно только программой на делфи, то есть тестилкой.
Ответить с цитированием
  #15  
Старый 10.03.2011, 17:53
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от ChinYan
Было две программы. Одна тестилка, друга тестосоздавалка. Во второй создаются тесты. Эта же программа файл с вопросами, созданный по определенной структуре, сжимала средствами делфи, что приводило к тому, что этот файл открыть можно только программой на делфи, то есть тестилкой.
ясн понял не дурак дурак бы не понял
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter