Что нового

Немогу исправить ошибку в функцие

Статус
Закрыто для дальнейших ответов.

Rivald

Новичок
Сообщения
61
Репутация
1
В упор не вижу, что в коде неправильно, функцию переписывал с другого яп, условия соблюдены верно, но выдает несколько ошибок, вот часть функции:
Код:
Global $packedOffset, $unpackedBytes, $v, $declared = 0

Func Unpack($packedByte, $len)
	If $declared = 0 Then
		Dim $packedBytes[$len][1]
		Dim $unpackedBytes[$len][1]
		Dim $unpacketChunk[$len]
		$declared = 1
	EndIf
	$code3 = 0
	$code4 = 0
	$pointer = 0
	$packedBytes[$pointer] = $packedByte
	$count = 0
	While 1
		If $code3 = 0 Then
			If bitscount(4) Then
				If getpacketbits(1) = 0 Then
					$code1 = 1
					$code3 = 1
				Else
					If getpacketbits(1) = 0 Then
						$code1 = 2
						$code3 = 1
					Else
						If getpacketbits(1) = 0 Then
							$code1 = 3
							$code3 = 1
						Else
							If getpacketbits(1) = 0 Then
								$code1 = 4
								$code3 = 1
							EndIf
						Else
							$code1 = 5
							$code3 = 1
						EndIf
					EndIf
				EndIf
			Else
				ExitLoop
			EndIf
			WEnd
EndFunc
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
А где функции, которые вы используете внутри bitscount и getpacketbits?
 
Автор
R

Rivald

Новичок
Сообщения
61
Репутация
1
Я бы не очень хотел выкладывать их, если без этого никак, кину полный код в лс.
 

Naisho

Знающий
Сообщения
86
Репутация
12
как то так...

Код:
Global $packedOffset, $unpackedBytes, $v, $declared = 0

Func Unpack($packedByte, $len)
    If $declared = 0 Then
        Dim $packedBytes[$len][1]
        Dim $unpackedBytes[$len][1]
        Dim $unpacketChunk[$len]
        $declared = 1
    EndIf
    $code3 = 0
    $code4 = 0
    $pointer = 0
    $packedBytes[$pointer] = $packedByte
    $count = 0
    While 1
        If $code3 = 0 Then
            If bitscount(4) Then
                If getpacketbits(1) = 0 Then
                    $code1 = 1
                    $code3 = 1
                Else
                    If getpacketbits(1) = 0 Then
                        $code1 = 2
                        $code3 = 1
                    Else
                        If getpacketbits(1) = 0 Then
                            $code1 = 3
                            $code3 = 1
                        Else
                            If getpacketbits(1) = 0 Then
                                $code1 = 4
                                $code3 = 1
                            Else
								$code1 = 5
								$code3 = 1
							EndIf
                        EndIf
                    EndIf
				EndIf
			EndIf
		Else
			ExitLoop
		EndIf
	WEnd
EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Rivald

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Немогу исправить ошибку в функцие" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Администратор.
 
Автор
R

Rivald

Новичок
Сообщения
61
Репутация
1
CreatoR
С проблемой разобрался, закрывайте тему.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Rivald [?]
С проблемой разобрался, закрывайте тему.
Т.е тебе плевать на всё и вся, мол "я разобрался, мне никто больше не нужен"?
Я так понимаю тебе хватило 53 сообщений, чтобы получить все необходимые знания и помощь по AutoIt...

Ок, тема закрыта, и, как предупреждалось выше,
[?]
возможно будет выдан бан на несколько дней
на 5 дней.
 
Статус
Закрыто для дальнейших ответов.
Верх