Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Удаляем запись! Добавлено: 20.04.06 18:29  

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

Public Type Air
    NumberTrip As Byte
    PointPlace As String
    TimeArrive As Integer
    TimeLeave As Integer
    FreePlace As Integer
End Type
Public record As Air

Ответить

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

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



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 21.04.06 01:18
Что такое файл произвольного доступа?

Строку из файла надо удалить, что ли?
-------------------
Вот! Вспомнил молодость! Накропал ни разу не компиля до самого конца:
Option Explicit

Private Type FileLine
    strLine As String
    strPrint As Boolean
End Type

Private Sub Form_Load()
    Dim strFile As String
    Dim max As Integer
    Dim cur As Integer
    Dim arr() As FileLine
    Dim intFileNum As Integer
    Dim strLine As String
    intFileNum = FreeFile
    max = 100
    ReDim arr(max)
    strFile = "d:\1.txt"
    If Len(Dir(strFile)) > 0 Then
        Open "d:\1.txt" For Input As #intFileNum
            Do While Not EOF(intFileNum)
                Line Input #intFileNum, strLine
                If cur > max Then
                    max = max + 100
                    ReDim Preserve arr(max)
                End If
                arr(cur).strLine = strLine
                arr(cur).strPrint = True
                cur = cur + 1
            Loop
        Close #intFileNum
    Else
        MsgBox "Íåò ôàéëà!", vbCritical
        Exit Sub
    End If
    max = cur - 1
    If max >= 0 Then
        ReDim Preserve arr(max)
    Else
        MsgBox "Íåò çàïèñåé!", vbCritical
        Exit Sub
    End If
    ' ---------------------------------------
    ' óäàëÿåì íåêîòîðûå çàïèñè
    Dim i As Integer
    For i = 0 To max Step 2
        arr(i).strPrint = False
    Next i
    ' ---------------------------------------
    ' ïå÷àòàåì íîâûé ôàéë
    Dim strRezFile As String
    strRezFile = "d:\result.txt"
    Open strRezFile For Output As #intFileNum
        For i = 0 To max
            If arr(i).strPrint Then
                Print #intFileNum, arr(i).strLine
            End If
        Next i
    Close #intFileNum
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 22.04.06 01:29
Тю, ну открываешь open as binary, через lof / len(Air) получаешь кол-во элементов, создаеш массив, загружаешь Get #, , Air в него данные, удаляешь из массива ненужную строку, и загружаешь обратно в файл... В чём траблы то конкретно..

Ответить

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



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #3 Добавлено: 22.04.06 06:42
файл произвольного доступа это типа Random.

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 22.04.06 15:11
Для этой цели вполне катит бинари

Ответить

Страница: 1 |

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



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