7 / 7 / 0
Регистрация: 10.01.2013
Сообщений: 59
1

Удалить все элементы символьного файла, расположенные после первого символа пробела

17.06.2013, 18:29. Показов 1737. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы, расположенные после первого символа пробела, включая и этот пробел.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2013, 18:29
Ответы с готовыми решениями:

Получить все символы, расположенные после первого двоеточия. Если среди них есть пробелы, удалить их
Даны натуральное число n и символы t1, t2, ..., tn, среди которых есть двоеточие. Получить все...

Удалить все элементы файла, расположенные после первого символа пробела
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы,...

Удалить все элементы файла, расположенные после первого символа пробела
дан символьный файл,содержащий по крайней мере один символ пробела. Удалить все его элементы,...

Удалить из файла все его элементы, расположенные после первого символа пробела, включая и этот пробел
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы,...

12
Модератор
Эксперт функциональных языков программированияЭксперт Python
35521 / 19996 / 4186
Регистрация: 12.02.2012
Сообщений: 33,174
Записей в блоге: 13
17.06.2013, 19:05 2
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Task(fname as string)
   fi%=FreeFile
   Open fname for Binary Access Read as #fi%
   ll&=Lof(fi%)
   Buf$=Space$(ll&)
   get #fi%,,Buf$
   Close #fi%
   Kill fname
   fo%=FreeFile
   Open fname for binary access write as #fo%
   k&=Instr(Buf$," ")
   Buf$=left$(Buf$,k&-1)
   Put #fo%,,Buf$
   Close #fo%
 End Sub
1
7 / 7 / 0
Регистрация: 10.01.2013
Сообщений: 59
17.06.2013, 21:37  [ТС] 3
Catstail, а на форме добавляю TextBox и один Command, а оно не реагирует! что еще требуется добавить?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35521 / 19996 / 4186
Регистрация: 12.02.2012
Сообщений: 33,174
Записей в блоге: 13
17.06.2013, 21:42 4
Добавить мало... Надо написать обработчики событий.
0
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
17.06.2013, 21:42 5
Цитата Сообщение от udov Посмотреть сообщение
Catstail, а на форме добавляю TextBox и один Command, а оно не реагирует! что еще требуется добавить?
А ты в Command пишешь
Visual Basic
1
Call Task
??
Синхрон
0
7 / 7 / 0
Регистрация: 10.01.2013
Сообщений: 59
17.06.2013, 21:45  [ТС] 6
morgann55, нет, в модуле!

Добавлено через 34 секунды
Catstail, а, вон где загвоздка!
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35521 / 19996 / 4186
Регистрация: 12.02.2012
Сообщений: 33,174
Записей в блоге: 13
17.06.2013, 21:49 7
А для этой задачи тебе, в сущности, не нужны органы управления. Вот минималистское решение:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Main()
   fname$ = InputBox("Задайте имя файла в текущей директории")
   If fname$ <> "" Then
      fi% = FreeFile
      Open fname For Binary Access Read As #fi%
      ll& = LOF(fi%)
      Buf$ = Space$(ll&)
      Get #fi%, , Buf$
      Close #fi%
      Kill fname
      fo% = FreeFile
      Open fname For Binary Access Write As #fo%
      k& = InStr(Buf$, " ")
      Buf$ = Left$(Buf$, k& - 1)
      Put #fo%, , Buf$
      Close #fo%
      MsgBox "OK!"
   End If
End Sub
Вложения
Тип файла: zip t079.zip (3.5 Кб, 10 просмотров)
1
7 / 7 / 0
Регистрация: 10.01.2013
Сообщений: 59
17.06.2013, 21:57  [ТС] 8
Catstail, можете пожалуйста скинуть скрин что у вас в итоге выбивает,ато я либо недоганяю... у меня все как то просто!
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35521 / 19996 / 4186
Регистрация: 12.02.2012
Сообщений: 33,174
Записей в блоге: 13
18.06.2013, 11:56 9
У меня выдается запрос "Задайте имя файла в текущей директории". Если я ввожу имя - выдается OK. Все.
0
Эксперт WindowsАвтор FAQ
17987 / 7688 / 892
Регистрация: 25.12.2011
Сообщений: 11,461
Записей в блоге: 17
23.06.2013, 21:53 10
Вариант через ADO Stream:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Option Explicit
 
Sub main()
    Dim fname As String, bArr() As Byte, pos As Long
    
    fname = InputBox("Задайте имя файла в текущей директории")
    'fname = "h:\_VBA\Файловая система, ф.операции, WMI\Работа с текстом\testfile.txt"
    
    With CreateObject("ADODB.Stream")
        .Type = 1 ' adTypeBinary
        .Open
        .LoadFromFile fname
        If .Size = 0 Then .Close: Exit Sub
        bArr() = .Read()
        For pos = 0 To UBound(bArr)
            If bArr(pos) = 32 Then Exit For
        Next
        Dim Stream2 As Object: Set Stream2 = CreateObject("ADODB.Stream")
        Stream2.Open
        Stream2.Type = 1
        .Position = 0
        .CopyTo Stream2, pos 'считая от нуля
        .Close
    End With
    Stream2.SaveToFile fname, 2 'adSaveCreateOverWrite
    Stream2.Flush
    Stream2.Close
    Set Stream2 = Nothing
End Sub
2
Модератор
9688 / 3651 / 869
Регистрация: 22.02.2013
Сообщений: 5,494
Записей в блоге: 78
24.06.2013, 00:06 11
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
 
Private Sub Form_Load()
    Dim fNum As Integer, Txt As String
    fNum = FreeFile
    Open "D:\Temp\Text.txt" For Input As fNum
    Txt = Input(LOF(fNum), fNum)
    Txt = Left$(Txt, InStr(1, Txt, Chr$(32)) - 1)
    Close fNum
    Open "D:\Temp\Text.txt" For Output As fNum
    Print #fNum, Txt
    Close fNum
End Sub
0
7 / 7 / 0
Регистрация: 10.01.2013
Сообщений: 59
24.06.2013, 12:26  [ТС] 12
@Dragokas, и какое имя файла задать?
0
Эксперт WindowsАвтор FAQ
17987 / 7688 / 892
Регистрация: 25.12.2011
Сообщений: 11,461
Записей в блоге: 17
24.06.2013, 16:17 13
Цитата Сообщение от udov Посмотреть сообщение
Дан символьный файл
Создайте любой текстовой, или бинарный файл.
В файле должен содержаться текст с пробелом, например: "Привет, udov "

Когда появится диалоговое окно - укажите путь к этому файлу.
Например на моем рабочем столе путь будет выглядеть так:
C:\Users\Alex\Desktop\Имя_файла.txt
где Alex - имя пользователя.
Миниатюры
Удалить все элементы символьного файла, расположенные после первого символа пробела   Удалить все элементы символьного файла, расположенные после первого символа пробела  
0
24.06.2013, 16:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2013, 16:17
Помогаю со студенческими работами здесь

Работа с файлами. Дан символьный файл. Удалить все его элементы, расположенные после первого символа пробела
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы,...

Удалить все элементы файла, расположенные после последнего символа пробела, включая сам пробел
Дан символьный файл содержащий хотя бы один пробел.Удалить все его элементы расположенные после...

Удалить из текстового файла все его элементы, расположенные после последнего символа пробела, включая и этот пробел.
Дано текстовый файл, содержащий по крайней мере один символ пробела. Удалить все его элементы,...

Удалить все элементы массива, расположенные после последнего символа пробела
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru