Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Нет проблем дорогой intFileNum = FreeFile Close #intFileNum а если все сразу? Спасибо, но а покороче нет ??? Function ReadLineTextFile (NumLin) Или тоже самое, но хаваем весь файл сразу. Потходит лиш в том случае если файл относительно не большой, так как запихиваем его в одну переменную. Function TextFile(FilName,NumStr) Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Ворос явно не для не профисионалов!               
     
    
Добавлено: 23.07.02 00:35
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 AQUALITY | Web-сайт: dungeonsiege.narod.ru
      
       
  
Впорос таков , имеется текстовый файл нужно вытащить из него определенную строчку например третью ?  
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 8
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 Tovdi
![]()
![]()
![]()
![]()
ICQ: 160516960 
Вопросов: 13
Ответов: 37
      
 Профиль |  | #1
       
Добавлено:  23.07.02 00:43
       
    
       
  
 
    
Open App.Path & "\File.txt" For Input As #intFileNum
LinCount=1
Do While Not EOF(intFileNum)
    Line Input #intFileNum, strInfo
    if LinCount=3 Then MyLin= strInfo:Exit Sub
    LinCount=LinCount+1
Loop
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 AGReSSoRs
![]()
![]()
![]()
![]()
![]()
Вопросов: 2
Ответов: 5
      
 Профиль |  | #2
       
Добавлено:  23.07.02 01:27
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 AQUALITY
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Вопросов: 7
Ответов: 7
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  23.07.02 01:32
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 Tovdi
![]()
![]()
![]()
![]()
ICQ: 160516960 
Вопросов: 13
Ответов: 37
      
 Профиль |  | #4
       
Добавлено:  23.07.02 09:42
       
    
       
  
 
    
   Const ForReading = 1, ForWriting = 2
   Dim fso, ts
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set ts = fso.OpenTextFile("c:\File.txt", ForReading)
 For i=1 to NumLin-1
  ts.SkipLine
 Next
   ReadLineTextFile = ts.ReadLine
End Function
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 Tovdi
![]()
![]()
![]()
![]()
ICQ: 160516960 
Вопросов: 13
Ответов: 37
      
 Профиль |  | #5
       
Добавлено:  23.07.02 09:52
       
    
       
  
 
    
 Const ForReading = 1, ForWriting = 2
 
im fso, ts
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set ts = fso.OpenTextFile(FilName, ForReading)
  ReadAllTextFile = ts.ReadAll
  SplitText=Split(ReadAllTextFile,vbCRLf)
  TextFil=SplitTex(NumStr-1)
End Function
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 Barsik
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 343368641 
Вопросов: 17
Ответов: 686
      
 Web-сайт:  
 Профиль |  | #6
      
Добавлено:  10.09.04 18:33
       
    
       
  
а зачем короче???
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 Lister
![]()
![]()
![]()
ICQ: 298621256 
Вопросов: 57
Ответов: 304
      
 Профиль |  | #7
       
Добавлено:  10.09.04 19:50
       
    
       
  
Код, приведенный в ответе 1 содержит одну маленькую, но весомую ошибку: не рекомендуется применять Exit Sub, т.к. файл #intFileNum остается открытым. Я бы порекомендовал использовать Exit Do
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа:
 mc-black
![]()
![]()
ICQ: 308-534-060 
Вопросов: 20
Ответов: 1860
      
 Web-сайт:  
 Профиль |  | #8
      
Добавлено:  10.09.04 20:27
       
    
       
  
Ну, если к работающему коду Tovdy придираться, то в примере 2 и 3 надо бы сделать
 
    
Set fso = Nothing
Set ts = Nothing
предже, чем закрывать функцию. Чтобы всё до конца корректно