Страница: 1 |
Страница: 1 |
Вопрос: Вин Блокнот?
Добавлено: 06.04.06 16:23
Автор вопроса: Billi Gates | ICQ: 242-026-281
Здравствуйте! Помойму все видели стандартный виндосовский блокнот! Так вот, если попытаться открыть через него программу а не текст, то в блокноте появляется зашифрованный код! А самому такой блокнот сделать нельзя? Пытался просто открывать файл в текст бокс и в рич текст бокс! Всё зря! В текст бокс ваще не открываетси! а в рич текст бокс открывается одна бредовая строка, как правило не больше 15 символов!
Вот код которым я воспользовался
Private Sub Command1_Click()
cd.Filter = "All Files|*.*"
cd.ShowOpen
Dim txt As String
Open cd.FileName For Input As #1
Do While Not EOF(1)
Line Input #1, txt
text1.Text = txt
Loop
Close #1
End Sub
Таким способом ваще не открывается!:
Private Sub Command1_Click()
f = FreeFile
Open "c:\1.exe" For Input As f
text1.Text = Input(LOF(f), f)
Close f
End Sub
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #1
Добавлено: 06.04.06 16:27
Во-первых, используй не For Input, а For Binary, а во-вторых, придется тебе свой текстбокс делать, так как стандартный не поддерживает нулевые символы. Виндовозовский блокнот тоже их не поддерживает. Он их на пробелы заменяет.
Номер ответа: 2
Автор ответа:
Billi Gates
ICQ: 242-026-281
Вопросов: 25
Ответов: 57
Профиль | | #2
Добавлено: 06.04.06 16:54
мне не лень сделать новый текст бокс, на чтобы время не тратить не подскажете ссылочку?
Номер ответа: 3
Автор ответа:
Billi Gates
ICQ: 242-026-281
Вопросов: 25
Ответов: 57
Профиль | | #3
Добавлено: 06.04.06 16:55
а с Binary не прёт! Виснет программа. Или может я нето делаю?
cd.Filter = "All Files|*.*"
cd.ShowOpen
Dim txt As String
Open cd.FileName For Binary As #1
Do While Not EOF(1)
Line Input #1, txt
text1.Text = txt
Loop
Close #1
End Sub
Номер ответа: 4
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #4
Добавлено: 06.04.06 18:08
Читай как байтовый массив, а не как строки.
Когда прочтешь, замени все нечитаемые символы в массиве на Chr(1). Так поступает блокнот (отображает квадратики вместо нечитаемых).
Если выводить в тектсбокс - будут выводиться жирные вертикальные черточки
Номер ответа: 5
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #5
Добавлено: 06.04.06 18:16
поправка: у квадратика код 127
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 06.04.06 18:29
а в байтовый массив это типа чтобы быстрее, да?
Public Function LoadTextFile(path As String) As String
'Загрузка файла в переменную
Dim l As Long
Dim s As String
n = FreeFile
Open path For Binary As #n
l = LOF(n)
s = String(l, vbNullChar)
Get n, , s
Close #n
LoadTextFile = s
End Function
Private Sub Form_Load()
Dim tmp As String
tmp = LoadTextFile("C:\windows\notepad.exe"
'tmp = Replace(tmp, "", "" '< влом искать какие там печатаются...
Text1 = tmp
End Sub
Номер ответа: 7
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #7
Добавлено: 06.04.06 18:38
Да, чтобы быстрее.
Проверять и заменять значительно быстрее, чем через Replace.
Номер ответа: 8
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #8
Добавлено: 06.04.06 18:49
На сорцах конкурс был по замене виндовых прог на свои. Там и блокнот писали, и поинт тоже и много что другого.
Номер ответа: 9
Автор ответа:
Billi Gates
ICQ: 242-026-281
Вопросов: 25
Ответов: 57
Профиль | | #9
Добавлено: 06.04.06 18:53
спасибо! работает! Вопрос исчерпан! Обидно было что блокнот так умеет, а текст бокс нет!
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 06.04.06 19:16
бгагаа
похоже все наши старания в пустую
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 07.04.06 16:50
Вопрос:
Помойму все видели стандартный виндосовский блокнот! Так вот, если попытаться открыть через него программу а не текст, то в блокноте появляется зашифрованный код! А самому такой блокнот сделать нельзя? Пытался просто открывать файл в текст бокс и в рич текст бокс! Всё зря!
Объяснили:
Когда прочтешь, замени все нечитаемые символы в массиве на Chr(1). Так поступает блокнот (отображает квадратики вместо нечитаемых).
Объяснили как сделать и как делает виндоый блокнот!
и после этого...
спасибо! работает! Вопрос исчерпан! Обидно было что блокнот так умеет, а текст бокс нет!
т.е. толкование Хулигана не пошло на пользу... Теперь понимаешь почему
P.S.
Просто в человек попросил в асе меня объяснить мою реакцию...