Извлечение строки из текстового файла

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

Извлечение строки из текстового файла

Сообщение кофейник » 13.06.2003 (Пт) 19:43

подскажите чайнику следующую вещь.
как можно сделать, чтобы в Label1.Caption отражалась
только определенная строка из открываемого текстового файла, допустим 4 или 7 и.т.д.
Спасибо.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.06.2003 (Сб) 7:23

Эх, RayShade когда-то такую кодяру написал для этого, до сих пор без умиления вспомнить не могу... Не нашёл я её, затерялось на старом форуме где-то... :( Поэтому

Код: Выделить всё
Dim a as string, b as integer, i as long
b=freefile
open "myfile" for input as #b
do until eof(b)
  i=i+1
  line input #b, a
  if i=DesiredLineNumber then label1.caption=a:exit do
loop
close #b
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.06.2003 (Сб) 9:39

Не дадим пропасть культурному наследию прошлых лет:

Код: Выделить всё
on error resume next
dim fso as new filesystemobject
dim str as textstream
dim f as file
dim st as string
dim lbl as Object
dim cnt as long
set f = fso.getfile("file.txt")
set str = f.openastextstream(forReading)
st = str.readall
cnt = 1
Do Until cnt = 3
st = Mid(st, InStr(1, st, Chr(13) & Chr(10), vbTextCompare) + 1)
cnt = cnt + 1
Loop
Set lbl = Me.Controls.Add ("VB.Label", "Label5")
if err.number <>0 then set lbl = me.controls("Label5")
lbl.Caption = Replace(Replace(Mid(st, 1, InStr(1, st, Chr(13) & Chr(10), vbTextCompare)), Chr(13), "", 1, -1, vbTextCompare), Chr(10), "", 1, -1, vbTextCompare)
if err.number = 0 then
lbl.left=1
lbl.top=1
lbl.width = textwidth(lbl.caption)
lbl.height = textheight(lbl.caption)
end if




Вышеприведенный код создает на форме Label и пишет в него 3-ю строчку из указанного файла :)

кофейник
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 13.06.2003 (Пт) 18:50

Сообщение кофейник » 21.06.2003 (Сб) 0:56

спасибо большое! все работает! извините за поздний ответ!


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

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

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 9

    TopList