Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Офф-топ

Страница: 1 |

 

  Вопрос: Открытие файла??? Добавлено: 29.04.06 13:20  

Автор вопроса:  Billi Gates | ICQ: 242-026-281 
Привет! Вопрос:есть способ как открыть любой файл(любое расширение) и записать это в любом виде в текстбокс или в ричтекстбокс? И самое главное, опять его сохранить как файл, чтоб он работал!!? Повторяю, вид любой, главное чтоб после открытия файла его можно было сохранить или скомпилить! У меня есть подозрения что этот вопрос глупый, т.к. я сам не понимаю зачем мне это надо! Чисто интересно! :)

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #1
Добавлено: 29.04.06 14:02
есть способ как открыть любой файл(любое расширение) и записать это в любом виде в текстбокс или в ричтекстбокс?
Ты что, никогда не открывал файлы? Тот же банальный Open. Если работаешь в Rich Text Box, опять же есть специальная функция LoadFile.
главное чтоб после открытия файла его можно было сохранить или скомпилить
А зачем его сохранять? Создавать копию? Глупо. RichTextBox.SaveFile. Или Print.
У меня есть подозрения что этот вопрос глупый, т.к. я сам не понимаю зачем мне это надо! Чисто интересно! :)
Как это не странно, у меня такие же подозрения.

-----
Советую такие топики помещать не в офф-топ, а в "Юмор".

Ответить

Номер ответа: 2
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #2
Добавлено: 29.04.06 15:02
а у меня даже подозрений нет

Ответить

Номер ответа: 3
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #3
Добавлено: 29.04.06 15:21
Лень пробовать, но, имхо, если через RTB открыть и пересохранить экзешник, то он уже не запуститься - так что считаю, что вопрос вполне резонный, только неточно сформулированный.

Для этого тебе надо писать hex-editor, т.е. прогу, которая будет рассматривать файл не как текст, а как массив байтов. Для этого при открытии используешь For Binary Read/Write, вместо Input&Print используешь Get&Put - грузишь всё это в массив (ну или не грузишь, если планируешь создавать реально масштабируемую прогу) и выводишь куда-нить, где легко всё это редактировать можно и в текстбокс через табы. Только вся эта затея хороша в качестве задания для студентов, а в реальной жизни уже и так много hex editor'ов и очередной никому не нужен.

Ответить

Номер ответа: 4
Автор ответа:
 Billi Gates



ICQ: 242-026-281 

Вопросов: 25
Ответов: 57
 Профиль | | #4 Добавлено: 29.04.06 15:31
Да, вот! Спасибо Neco, я именно это и имел в виду! Можешь пример для
Для этого при открытии используешь For Binary Read/Write, вместо Input&Print используешь Get&Put - грузишь всё это в массив (ну или не грузишь, если планируешь создавать реально масштабируемую прогу) и выводишь куда-нить, где легко всё это редактировать можно и в текстбокс через табы.

Жирным шрифтом: не очень понятно, зачем в массив грузить?

Ответить

Номер ответа: 5
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #5
Добавлено: 29.04.06 15:52
Массив нужен, т.к. средства вывода (текст-, лист-боксы, таблицы) имеют свойство подтормаживать если кидать в них даже небольшое количество информации (мег - и они уже задумываются), поэтому надо заранее думать об оптимизации вывода. Т.е. если твоя таблица на экране не показывает более 50 элементов, то зачем сразу выводить тысячу? Поэтому надо выводить по требованию (юзай виртуальные списки), но если ты будешь по каждому требованию открывать файл, читать с диска и закрывать файл, то тормозить у тебя будет ещё сильнее (особенно, если файл на сетевом диске!). Поэтому вбухиваешь всё в массив и потом читаешь и редактируешь этот массив. По завершению, сохранил.

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

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

Ответить

Номер ответа: 6
Автор ответа:
 Billi Gates



ICQ: 242-026-281 

Вопросов: 25
Ответов: 57
 Профиль | | #6 Добавлено: 29.04.06 16:49
я попробовал так
Private Sub Form_Load()
Dim ByteArray() As Byte
cd.Filter = "All Files|*.*"
cd.ShowOpen
fi = FreeFile
Open cd.FileName For Binary As #fi
      ReDim ByteArray(LOF(1) - 1)
      Get #fi, , ByteArray()
      te1.Text = ByteArray()
    Close #fi
End Sub

но там всё открывается аброкадаброй!
Пример моей программы:
1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?????R?R?R?R?R?R?S?X?i?:?9?Q???????S?B?6?`?G?G???????????G?9?^?G?E?X???????~???.?l?W?T?R?P?P?0?????????????????0?P?P?W?W?W? и.т.д. там на 10 страниц не поместится! Ну ладно, я говорил в любом виде, даже и в таком устраивает, а как (я принёс этот код на др. комп, скажем товарищу своему, и хочу у него сохранить как *.exe что для этого нужно сделать?

Ответить

Номер ответа: 7
Автор ответа:
 Billi Gates



ICQ: 242-026-281 

Вопросов: 25
Ответов: 57
 Профиль | | #7 Добавлено: 29.04.06 17:37
всё, всем спасибо!!! Со всем разобрался! Отдельное спасибо Neco!!!
Спасибо за помощь!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам