Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Создание структуры и множества (http://forum.oszone.net/showthread.php?t=135846)

morgan1991 25-03-2009 17:33 1074544

Создание структуры и множества
 
Здравствуйте!
Скажите пожалуйста возможно ли на Autoit создать структуру и множество?

Creat0R 25-03-2009 23:20 1074847

Структуры возможно, а что такое «множество» я так и не понял, может это массивы?

proxy 25-03-2009 23:28 1074853

DllStructCreate ;)

справка рулит (rtfm) )))

morgan1991 26-03-2009 00:00 1074873

Сори я видел в справке DllStructCreate просто сначала подумал что оно нужно для создания структуры в библиотеке.
Но всеравно какаято странная команда например чтобы получить данные нужно использовать
DllStructGetData ( Struct, Element [, index ] )
В то время как в других язык можно получить данные так
Struct.Element[index]
Цитата:

Цитата Creat0R
а что такое «множество» »

Например в паскале множество создается так:
Код:

program name;
type mnog=set of byte; {Тип множество }
var a:mnog; {a типа mnog}
      temp:char;
BEGIN
  temp:='a';
  a:=['a','b','c'];
  if (temp in a) then writeln('В переменной temp есть либо a либо b либо c');
END.

В Паскале под множественным типом понимается конечная совокупность элементов, принадлежащих некоторому базовому типу данных.

Creat0R 26-03-2009 00:09 1074878

Цитата:

Цитата morgan1991
в других язык можно получить данные так »

Неужели намного проще/короче? :)

Цитата:

В Паскале под множественным типом понимается конечная совокупность элементов, принадлежащих некоторому базовому типу данных
Ну это могут быть и массивы (Array)...

morgan1991 26-03-2009 01:00 1074908

Цитата:

Цитата Creat0R
Ну это могут быть и массивы (Array)... »

Т.е. можно сделать так?
Код:

if string in array then msgbox(0, "", "")

proxy 26-03-2009 01:24 1074921

имеешь в виду такое:
Код:

Local  $sString  = 'Строка agk673qwikyg'
Local  $aArray[3] = ['Массив', 1, $sString]

_Check(IsArray($aArray), $aArray)
_Check(IsArray($sString), $sString)

Func _Check($iIsArray, $vWhatCheck)
    If $iIsArray == 1 Then
        MsgBox(64, 'Внимание', 'Проверяется: ' & $vWhatCheck & @CRLF & 'Результат проверки: ' & $iIsArray & @CRLF & @CRLF & 'Переменная массив')
    Else
        MsgBox(64, 'Внимание', 'Проверяется: ' & $vWhatCheck & @CRLF & 'Результат проверки: ' & $iIsArray & @CRLF & @CRLF & 'Переменная НЕ массив')
    EndIf
EndFunc


Creat0R 26-03-2009 01:53 1074938

Цитата:

Цитата morgan1991
Т.е. можно сделать так? »

Для этого массив не нужен:

Код:

$sVar = "This is a Test"
$sTest = "Test"

If StringInStr($sVar, $sTest) Then MsgBox(64, 'Title', StringFormat('$sTest ("%s") found in $sVar ("%s")', $sTest, $sVar))

А если всё же в массиве нужно, тогда так:

Код:

Dim $aArray[5] = [4, "This", "is", "a", "Test"]
$sTest = "Test"

For $i = 1 To $aArray[0]
    If $aArray[$i] = $sTest Then MsgBox(64, 'Title', StringFormat('$sTest ("%s") found in $aArray (element [%i])', $sTest, $i))
Next



Время: 17:24.

Время: 17:24.
© OSzone.net 2001-