PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Чтение данных из строки


Чтение данных из строки

Сообщений 1 страница 3 из 3

1

Здравствуйте, прошу помощи, мне нужно прочитать строку из файла такого типа: 5, 6abc, 8 то есть чтобы  каждый параметр который отделен запятой был записан в переменную. Приблизительного примера так и не нашел, а самостоятельно дальше ReadString не продвинулся, работа с ini мне не подходит, пожалуйста покажите пример как "обработать" такую строку. заранее спасибо.

0

2

Вариант 1.
Читать хелп-файл.
Увидеть функцию StringField() и воспользоваться ею.

StringField()

Syntax

Result$ = StringField(String$, Index, Delimiter$)
Description

Returns the string field at the specified index.
A one character 'Delimiter$' is used to split the string. The first 'Index' position is 1.
Example:

  For k=1 To 6
    Debug StringField("Hello I am a split string", k, " ")
  Next

Supported OS

All

0

3

Код:
;#def_extensions = "jpg|jpeg|jp2|j2k|jpf|jpx|jpm|mj2|png|tif|tiff|tga|tpic|ico"
;#extensions_sep = "|"

#def_extensions = "5, 6abc, 8"
#extensions_sep = ", "

Procedure.i parse_extensions(extensions.s)
  Protected number_of_extensions.i = CountString(extensions, #extensions_sep)
  Protected extensions_counter.i
  ;Protected extensions_added_counter.i
  For extensions_counter = 0 To number_of_extensions
    Protected current_extension.s = LCase(Trim(StringField(extensions, extensions_counter + 1, #extensions_sep)))
    If current_extension <> ""
      Debug current_extension
      ;ReDim main_extensions(extensions_added_counter)
      ;main_extensions(extensions_added_counter) = current_extension
      ;extensions_added_counter + 1
    EndIf
  Next
EndProcedure

parse_extensions(#def_extensions)

Только тебе надо будет как-то отличать строковую переменную от числовой.

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Чтение данных из строки