Работа с файлами или с людьми -- может проще дать по рукам?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Хакер » 18.04.2009 (Сб) 1:51

SSecurity писал(а):Хакер, я не ставлю себе задачей разбирать твой формат чтоб найти в нем ответ :) это мне вовсе не нужно, я лишь сказал что я там увидел ...

Я ставил тебе задачей попробовать применить читерство на нешифрованных файлах. Чтобы народ понял, что шифроние незачем.
Ты наверняка посидел и подумал над форматом, как удобнее хранить вопросы и ответы, молодец, респект тебе за это:)

Вообще-то нет, сделал бездумно за 2 минуты. Так что, дизреспект.

Ну и конечно чтобы любой формат разложить по полочкам нужно как минимум знать зачем он нужен и кем используется, ну и мысли я твои читать не умею - может ты флагов там напихал различных и обозвал по-всякому :mrgreen:

Может и напихал. Это ещё раз показывает, что и без шифрования всё сложно.

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

Это очевидно неправильный взгляд.

Можно просто хранить данные (тупость = 0, медленность = 10), можно хранить данные в виде текста (тупость = 1, медленность = 30). В обоих случаях можно шифровать (тупость = 1, медленность = 50) или не шифровать (тупость = 0, медленность = 0).

Если хранишь данные в бинарном виде, то нет необходимости что-то шифровать (в этом я убедил?). Если в текстовом виде: то придётся.

Итак, что ты выберешь, когда выбор стоит между «Тупость = 0, Медленность = 10» и «Тупость = 2, Медленность = 80»? Особенно, учитывая, что тебе нужно в первую очередь избавиться от медленности?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Лаборатор
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.03.2009 (Сб) 15:06
Откуда: Москва

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Лаборатор » 18.04.2009 (Сб) 13:55

Sedge писал(а):Файлы - в архив, архив - на пароль.
Программа их разворачивает в темп, считывает и удаляет.
Пользователи до посинения пытаются подобрать пароль из 48 символов :)

А можно подробнее и с примером, а то я такого пока не умею...
В сети бываю редко!
Своего интернета у меня нет...

Лаборатор
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.03.2009 (Сб) 15:06
Откуда: Москва

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Лаборатор » 18.04.2009 (Сб) 13:59

Хакер писал(а):Какое нафиг шифрование? Зачем?

В архиве файл с вопросами из одной нашей программы. В нём ничего не шифруется! Предлагаю автору открыть его блокнотом и «подглядеть» правильный ответ вопрос «Палеонтологический филиал Аксу-Джабаглинского заповедника, расположен на склонах хребта:».

У меня в программе что - то похожее, и что, неужели сложно понять где вопрос, а где ответ и изменить их до неузнаваемости при первом контакте с копютером?
В сети бываю редко!
Своего интернета у меня нет...

Лаборатор
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.03.2009 (Сб) 15:06
Откуда: Москва

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Лаборатор » 18.04.2009 (Сб) 14:10

Хакер писал(а):Если хранишь данные в бинарном виде, то нет необходимости что-то шифровать.

Мысль хорошая, но опять таки вопрос, как ее можно реализовать?
В сети бываю редко!
Своего интернета у меня нет...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Хакер » 18.04.2009 (Сб) 18:04

Как реализовать мысль? Я не знаю как ответить на такой вопрос.

Вот если бы ты сказал мне: «Мой руки перед едой», а я спросил «А как реализовать эту мысль?», ты бы что мне ответил?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Sedge » 22.04.2009 (Ср) 15:52

Лаборатор писал(а):А можно подробнее и с примером, а то я такого пока не умею...


Ну вот допустим качаешь 7Zip: http://www.7-zip.org/download.html
Кидаешь 7za.exe в рабочий каталог программы (по соглашению этот файл может свободно распространяться с приложениями пользователя). Там же создаешь файл hidden.txt, содержимое которого надо скрыть от посторонних глаз.

Код:
Код: Выделить всё
Private Sub cmdZip_Click()
' упаковка файла с паролем "test123"
'//////////////////////////////////////////////////////////////////////////////////////
  Dim lRes As Long
  Dim sFileName As String
  Dim sArcName As String
'//////////////////////////////////////////////////////////////////////////////////////

sFileName = App.Path & "\hidden.txt"
sArcName = App.Path & "\hidden.zip"
lRes = Shell(App.Path & "\7za.exe a -tzip -ptest123 " & Chr(34) & sArcName & Chr(34) & " " & Chr(34) & sFileName & Chr(34), vbHide)

End Sub

Private Sub cmdUnzip_Click()
' распаковка файла с паролем "test123"
'//////////////////////////////////////////////////////////////////////////////////////
  Dim lRes As Long
  Dim sArcName As String
'//////////////////////////////////////////////////////////////////////////////////////

sArcName = App.Path & "\hidden.zip"
lRes = Shell(App.Path & "\7za.exe e -ptest123 " & Chr(34) & sArcName & Chr(34), vbHide)

End Sub

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Debugger » 22.04.2009 (Ср) 16:15

Хорошая идея. Понадеемся, что дизассемблеры не найдутся.

Лаборатор
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.03.2009 (Сб) 15:06
Откуда: Москва

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Лаборатор » 22.04.2009 (Ср) 16:57

Sedge писал(а):Ну вот допустим качаешь 7Zip: http://www.7-zip.org/download.html
Кидаешь 7za.exe в рабочий каталог программы (по соглашению этот файл может свободно распространяться с приложениями пользователя). Там же создаешь файл hidden.txt, содержимое которого надо скрыть от посторонних глаз.

Вот спасибочки пойду опробывать!

Лаборатор
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.03.2009 (Сб) 15:06
Откуда: Москва

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Лаборатор » 22.04.2009 (Ср) 17:00

Хакер писал(а):Как реализовать мысль? Я не знаю как ответить на такой вопрос.

Извиняюсь за некорректный вопрос, я имел ввиду, что и хочу перевести текст в бинарный вид, но не умею этого, можно какой-нибудь наводящий примерчик?
В сети бываю редко!
Своего интернета у меня нет...

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение iGrok » 22.04.2009 (Ср) 17:02

Sedge писал(а):Ну вот допустим качаешь 7Zip: http://www.7-zip.org/download.html
Кидаешь 7za.exe в рабочий каталог программы (по соглашению этот файл может свободно распространяться с приложениями пользователя). Там же создаешь файл hidden.txt, содержимое которого надо скрыть от посторонних глаз.

Классно. А теперь ответь на два вопроса:
1) Насколько быстро будет работать упаковка/распаковка на 486м процессоре, 66Мгц(к примеру)?
2) Что помешает "умным студентам" посмотреть содержимое распакованного файла во время работы программы?
label:
cli
jmp label

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Sedge » 22.04.2009 (Ср) 17:06

iGrok писал(а):1) Насколько быстро будет работать упаковка/распаковка на 486м процессоре, 66Мгц(к примеру)?

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

iGrok писал(а):2) Что помешает "умным студентам" посмотреть содержимое распакованного файла во время работы программы?

А кто сказал, что файл должен быть _распакованным_ в течении всего процесса работы программы?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение iGrok » 22.04.2009 (Ср) 17:12

Sedge писал(а):
iGrok писал(а):1) Насколько быстро будет работать упаковка/распаковка на 486м процессоре, 66Мгц(к примеру)?

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

iGrok писал(а):2) Что помешает "умным студентам" посмотреть содержимое распакованного файла во время работы программы?

А кто сказал, что файл должен быть _распакованным_ в течении всего процесса работы программы?

То есть ты абсолютно уверен, что успеешь помешать мне перехватить распакованный файл? :D
Если уж реализовывать такую систему, тогда работать через zlib, и результат распаковки хранить в памяти, без промежуточного файла.

З.Ы. И ещё один момент. Если автора не устраивает по скорости вариант с Xor, то почему его вдруг начнё устраивать вариант с упаковкой/распаковкой?

З.З.Ы. А в целом, тут нафиг не нужно никакое шифрование, и Хакер это уже показал.
label:
cli
jmp label

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Sedge » 22.04.2009 (Ср) 17:28

iGrok писал(а):То есть ты абсолютно уверен, что успеешь помешать мне перехватить распакованный файл? :D

Без понятия. А я должен быть в этом уверен?

iGrok писал(а):Если уж реализовывать такую систему, тогда работать через zlib, и результат распаковки хранить в памяти, без промежуточного файла

Это детали. Упаковщик можно использовать абсолютно любой.

iGrok писал(а):З.Ы. И ещё один момент. Если автора не устраивает по скорости вариант с Xor, то почему его вдруг начнё устраивать вариант с упаковкой/распаковкой?

Да мне по большому счету пофиг. Это пускай автор решает, что его устраивает, а что нет. Я предлагаю варианты.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение iGrok » 22.04.2009 (Ср) 17:44

Sedge писал(а):Я предлагаю варианты.

Sedge писал(а):А я должен быть в этом уверен?

Никому ты ничего не должен, если подумать.
Но если ты предлагаешь этот вариант не "просто так, к слову пришлось", а как решение конкретной задачи, о которой идёт речь в теме, то было бы очень кстати, если бы он в качестве этого самого решения подходил.
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Хакер » 22.04.2009 (Ср) 17:56

хочу перевести текст в бинарный вид, но не умею этого
Вот скажи мне, почему люди, и главным образом ты, берутся за написание программ, не имея, похоже, понятия о том, что такое файл, как (и какие) в нём хранятся данные, как в файле хранится текст и чем текстовые файлы отличаются от бинарных.

Фраза «Перевести текст в бинарный вид» — чушь.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Лаборатор
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.03.2009 (Сб) 15:06
Откуда: Москва

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Лаборатор » 22.04.2009 (Ср) 17:58

Sedge писал(а):Ну вот допустим качаешь 7Zip: http://www.7-zip.org/download.html
Кидаешь 7za.exe в рабочий каталог программы (по соглашению этот файл может свободно распространяться с приложениями пользователя). Там же создаешь файл hidden.txt, содержимое которого надо скрыть от посторонних глаз.

А можно глупый вопрос? Скачивается установочный архив, мне весь нераспаковынный архив в папку кидать, или распаковать, скопировать из рабочей папки программы в свою папку и потом юзать...

К стати метод интересный, бытродействие, конечно сам проверю, и если подойдет, то как процесс скрыть сам как-нибудь разберусь.
Впрочем, если есть идеи интересно было бы почитать.
В сети бываю редко!
Своего интернета у меня нет...

Лаборатор
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.03.2009 (Сб) 15:06
Откуда: Москва

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Лаборатор » 22.04.2009 (Ср) 18:02

Хакер писал(а):
хочу перевести текст в бинарный вид, но не умею этого
Вот скажи мне, почему люди, и главным образом ты, берутся за написание программ, не имея, похоже, понятия о том, что такое файл, как (и какие) в нём хранятся данные, как в файле хранится текст и чем текстовые файлы отличаются от бинарных.

Фраза «Перевести текст в бинарный вид» — чушь.

Ну что ты все к словам ципляешься, сам же говорил, что вопросы можно хранить в бинарном виде, я и спрашиваю, как оргазовать такое хранение средствами VB6!
В сети бываю редко!
Своего интернета у меня нет...

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Sedge » 22.04.2009 (Ср) 18:44

Лаборатор писал(а):А можно глупый вопрос? Скачивается установочный архив, мне весь нераспаковынный архив в папку кидать, или распаковать, скопировать из рабочей папки программы в свою папку и потом юзать...

Если я правильно тебя понял и ты про архив 7Zip'а, то со своей программой достаточно таскать один экзешник, который я указал. Он прекрасно работает автономно.
Если ты не про это, то уточни вопрос.

Хакер писал(а):Вот скажи мне, почему люди, и главным образом ты, берутся за написание программ, не имея, похоже, понятия о том, что такое файл, как (и какие) в нём хранятся данные, как в файле хранится текст и чем текстовые файлы отличаются от бинарных.

Я наверное открою Америку, но примерно так же, как мы за это брались в свое время, когда впервые увидели VB.

iGrok писал(а):было бы очень кстати, если бы он в качестве этого самого решения подходил.

А он и подходит, обеспечивая _приемлемый_ уровень безопасности с учетом целевого контингента (средне подготовленные студенты непрофильного ВУЗа), знаний разработчика (начальный уровень) и при минимизации усилий на разработку. Если конечно к процессу подключить прокладку между стеной и монитором и не тыкать юзверей носом в архиваторы, архивы и файлы с ответами. Но тут, думаю, топикстартер разберется самостоятельно.

iGrok писал(а):Никому ты ничего не должен, если подумать.

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Хакер » 22.04.2009 (Ср) 18:51

Ну что ты все к словам ципляешься

Когда человек задаёт вопрос, на который невозможно дать ответ, что ещё делать? Можно, в принципе, не отвечать. Тебя больше устроит, если я не буду отвечать?

сам же говорил, что вопросы можно хранить в бинарном виде

Я говорил, что тупо хранить номера правильных ответов в виде текстовых строчек. Тупо по следующим причинам:
1) Какой смысл лишний раз преобразовывать число в строчку перед записью в файл?
2) Какой смысл лишний раз преобразовывать строчку в число при чтении файла?
3) Любое существо, умеющее читать и понимать, сможет узнать номер правильного ответа.
4) Если вариантов ответа, к примеру, четыре, то чтобы хранить информацию о правильном ответе, достаточно всего-то двух битов. А в том виде, в каком хранишь ты, для этого понадобится 8 бит. Ты используешь в 4 раза больше места, чем тебе реально необходимо.

как оргазовать такое хранение средствами VB6!

Хранение средствами VB6 никак не оргазовать (о боже, ну и слово). Хранение оргазуется средствами жесткого диска (или другого накопителя) и файловой системы.

Средствами VB6 можно оргазовать только чтение и запись. Тебя это интересует?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Mikle » 22.04.2009 (Ср) 19:10

Лаборатор
Когда читаешь строку через Input или Line Input, а пишешь в файл через Print - это текстовый формат.
Когда читаешь строку через Get, а пишешь в файл через Put - это двоичный формат.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение FaKk2 » 22.04.2009 (Ср) 19:38

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

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Mikle » 22.04.2009 (Ср) 20:15

Я сознательно упрощаю. Не может человек сразу все понять, а кому-то прикольно.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение FaKk2 » 22.04.2009 (Ср) 20:32

Mikle писал(а):Я сознательно упрощаю. Не может человек сразу все понять, а кому-то прикольно.


Когда я был на месте этого человека я задался вопросом, в чем отличие чтения файлов через Line Input от Get. Порыскав по интернету я нашел ответ. Почему бы этому человеку не повторить этот путь?
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение arthur2 » 22.04.2009 (Ср) 21:17

Вы чего, всё ещё обсуждаете? Хакер же предложил отличный способ. А я даже предложил вариант алгоритма:
arthur2 писал(а):структурки любой сложности и запутанности сохраняются в файл и читаются из файла одним движением

arthur2 писал(а):Debugger писал(а):
С таким вариантом частичная подгрузка точно не будет работать.
Это как организовать файл :) Можно в нем же хранить массив лонгов-адресов на нужные элементы. Нужен седьмой вопрос - читаем седьмой лонг, а в нем место, где лежит седьмая структура. Правда, одним движением уже не отделаешься, но всё равно не очень сложно


Скажем, такая структурка:
Код: Выделить всё
Private Type victorina
  vopros As String
  otvety() As String
  musor As String 'потакаем паранои - чтоб никто на догадался :)
  pravilnyj As Byte 'вряд ли больше 255 вариантов?
  musor2 As String 'чтобы в файле затерялся байт с правильным ответом
End Type

читаем из файла структурку под нужным номером так:
Код: Выделить всё
Private Sub getQuestFromFile(nF As Integer, v As victorina, nQ As Long)
Dim adr As Long
Get #nF, nQ * 4 + 1, adr
Get #nF, adr, v
End Sub
Вложения
victorina.zip
(3.4 Кб) Скачиваний: 64
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Хакер » 22.04.2009 (Ср) 22:34

Вообще, нет. Вообще, надо хранить таблицу записей о вопросах и таблицу строк отдельно. В таблице записей о вопросах смещение строки и длина.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение arthur2 » 23.04.2009 (Чт) 6:13

я просто предложил ВАРИАНТ хранения в бинарном виде. Главным образом ориентируясь на то,
что структурки любой сложности и запутанности сохраняются в файл и читаются из файла одним движением
в противоположность подхода
В таблице записей о вопросах смещение строки и длина.
при котором кодировать - больше и для новичка - непонятнее. В структурке же для строк и длина и смещение уже есть, просто об этом заботиться не нужно :)

А так - вариантов своего формата файла можно придумать массу. И в любом из них - ничего юзеры изменить или посмотреть не смогут 8)
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Хакер » 23.04.2009 (Чт) 13:06

В структурке же для строк и длина и смещение уже есть, просто об этом заботиться не нужно

Нету там смещения.

Хранить информацию о вопросах и тексты вопросов/ответов вместе — неправильно по нескольким причинам.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение arthur2 » 24.04.2009 (Пт) 13:20

ну да, смещения нету :oops: но длинна есть :)

А почему неправильно хранить вопросы вместе с ответами?
Артур
 
   

Xcode
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 131
Зарегистрирован: 31.10.2008 (Пт) 8:12
Откуда: Pavlodar

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Xcode » 24.04.2009 (Пт) 14:35

arthur2 писал(а):А почему неправильно хранить вопросы вместе с ответами?

правильно-неправильно, но гораздо удобнее, в 1 байт, как говорил Хакер, можно упаковать 4 ответа, ну и соответсвенно будет гораздо удобнее, и тут уж точно правильнее :), хранить байты с ответами последовательно.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Работа с файлами или с людьми -- может проще дать по рукам?

Сообщение Хакер » 24.04.2009 (Пт) 15:15

arthur2 писал(а):А почему неправильно хранить вопросы вместе с ответами?

  1. Этим ты выдаёшь регулярную структуру своего файла. Проще взломать.
  2. Смещение к любой интересующей QUESTION_RECORD нельзя получить, умножив её номер на sizeof(QUESTION_RECORD). Так что чтобы получить запись n-ного вопроса, надо прочитать и (n-1) предыдущих записей.
  3. Тексты вопроса и ответов в 10—20 раз больше, чем все остальные данные, относящиеся к вопросу. Если тексты хранятся отдельно, то можно прочитать всю таблицу вопросов в массив. Если тексты хранятся в самих записях о вопросах, то тоже можно, но потратив гораздо больше памяти (скорее всего зря).
  4. Например, в базе 90000 вопросов. Из них, например, 2000 содержат вариант ответа «Российская Федерация». При твоём подходе в файле будет 2000 раз встречаться строчка «Российская Федерация», при моём — только один раз.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

    TopList  
cron