Автор Тема: аналог условия в языке С для Autoit  (Прочитано 5253 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fixik [?]

  • Новичок
  • *
  • Сообщений: 29
  • Репутация: 0
    • Награды
можно ли в Autoit использовать подобное уловие:
if((a == 1) && (b == 5) && (c == 10) && (d = 0x20))
{
...
}
else
{
...
}
как это будет выглядеть в Autoit (если такое вообще возможно)?
Легко усложнять. Тяжело упрощать!

Русское сообщество AutoIt

аналог условия в языке С для Autoit
« Отправлен: Июль 14, 2011, 16:35:47 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8082
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: аналог условия в языке С для Autoit
« Ответ #1, Отправлен: Июль 14, 2011, 16:44:06 »
Код: AutoIt [Выделить]
If (($a == 1) And ($b == 5) And ($c == 10) And ($d = 0x20)) Then
   
Else
   
EndIf



Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн greshnik77 [?]

  • Новичок
  • *
  • Сообщений: 27
  • Репутация: 0
    • Награды
Re: аналог условия в языке С для Autoit
« Ответ #2, Отправлен: Июль 14, 2011, 17:01:14 »
А в чем различие одного = от двойного == ?

Русское сообщество AutoIt

Re: аналог условия в языке С для Autoit
« Ответ #2 Отправлен: Июль 14, 2011, 17:01:14 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: аналог условия в языке С для Autoit
« Ответ #3, Отправлен: Июль 14, 2011, 17:20:36 »
greshnik77
Справка -> Language Reference -> Operators.

Оффлайн fixik [?]

  • Новичок
  • *
  • Сообщений: 29

  • Автор темы
  • Репутация: 0
    • Награды
Re: аналог условия в языке С для Autoit
« Ответ #4, Отправлен: Июль 14, 2011, 17:32:45 »
CreatoR
сделал по твоему  образцу (хотя наверняка где то ошибся :) ):
Код: AutoIt [Выделить]
If (FileExists(@HomeDrive & '\файл.au3') And FileExists(@HomePath & '\файл.au3') And FileExists(@DesktopDir & '\файл.au3') And FileExists(@HomeShare & '\файл.au3')) Then

    MsgBox(4096, "Ура", "Файл найден!", 1)
   
Else
    MsgBox(4096,"Внимание!", "А файла нет...", 10)
    Exit
EndIf

всегда выдает сообщение из секции Else, хотя файл находится на рабочем столе.
« Последнее редактирование: Июль 14, 2011, 17:37:49 от fixik »

Русское сообщество AutoIt

Re: аналог условия в языке С для Autoit
« Ответ #4 Отправлен: Июль 14, 2011, 17:32:45 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: аналог условия в языке С для Autoit
« Ответ #5, Отправлен: Июль 14, 2011, 17:37:26 »
fixik  [?]
Цитировать
хотя файл находится на рабочем столе.
В Вашем случае (условия в Вашем коде) файлы должны находится в корне каждой папки, которую Вы указываете. Если Вам надо проверить наличия файла в любом из этих мест, то поменяйте And на Or.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8082
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: аналог условия в языке С для Autoit
« Ответ #6, Отправлен: Июль 14, 2011, 17:39:25 »
fixik  [?]
Цитировать
всегда выдает сообщение из секции Else? хотя файл находится на рабочем столе.
Ну так это же And (логическое «И»), если хоть одно условие не совпадает (False), то проверка прекращается и переходит к Else.

Нужно делать через Or (логическое «Или»):

Код: AutoIt [Выделить]
If (FileExists(@HomeDrive & '\файл.au3') Or FileExists(@HomePath & '\файл.au3') Or FileExists(@DesktopDir & '\файл.au3') Or FileExists(@HomeShare & '\файл.au3')) Then

    MsgBox(4096, "Ура", "Файл найден!", 1)
   
Else
    MsgBox(4096,"Внимание!", "А файла нет...", 10)
    Exit
EndIf

« Последнее редактирование: Июль 14, 2011, 22:22:17 от CreatoR »

Оффлайн fixik [?]

  • Новичок
  • *
  • Сообщений: 29

  • Автор темы
  • Репутация: 0
    • Награды
Re: аналог условия в языке С для Autoit
« Ответ #7, Отправлен: Июль 14, 2011, 17:47:35 »
теперь другая крайность - всегда "Файл найден", но я его перенес на флешку и запускаю с флешки  :think:
в условии уже оставил только
Код: AutoIt [Выделить]
« Последнее редактирование: Июль 14, 2011, 17:57:25 от fixik »

Русское сообщество AutoIt

Re: аналог условия в языке С для Autoit
« Ответ #7 Отправлен: Июль 14, 2011, 17:47:35 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: аналог условия в языке С для Autoit
« Ответ #8, Отправлен: Июль 14, 2011, 17:56:21 »
fixik,
Попробуйте так:
Код: AutoIt [Выделить]
$sFileSearch = 'file.au3'
$sSearch = ''
Dim $aDir[4] = [3, @HomeDrive, @DesktopDir, @AppDataDir]
For $i = 1 To $aDir[0]
    If FileExists($aDir[$i] & '\' & $sFileSearch) Then
        $sSearch &= $aDir[$i] & '\' & $sFileSearch & @CRLF
    EndIf
Next
If $sSearch Then
    MsgBox(64, 'Info', StringTrimRight($sSearch, 2))
Else
    MsgBox(16, 'Error', 'No')
EndIf


Оффлайн fixik [?]

  • Новичок
  • *
  • Сообщений: 29

  • Автор темы
  • Репутация: 0
    • Награды
Re: аналог условия в языке С для Autoit
« Ответ #9, Отправлен: Июль 14, 2011, 18:05:24 »
madmasles, CreatoR,
огромное спасибо! Ваши варианты работают.
но работает так же и мой вариант с Вашим исправлением AND на Or
это я чукча не русская забыл удалить файл с рабочего стола и естественно мне его находит полюбому  :rofl:

так что оба варианта прекрасно работают!  :beer:



Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 963
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: аналог условия в языке С для Autoit
« Ответ #10, Отправлен: Июль 14, 2011, 21:24:16 »
CreatoR  [?]
Цитировать
Ну так это же And (логическое «Или»)
Я, конечно, извиняюсь, по-моему, AND это логическое И :)

Скорблю и помню.




Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8082
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: аналог условия в языке С для Autoit
« Ответ #11, Отправлен: Июль 14, 2011, 22:21:28 »
Garrett  [?]
Цитировать
по-моему, AND это логическое И
Ну да, это я очепятался :whistle:

Русское сообщество AutoIt

Re: аналог условия в языке С для Autoit
« Ответ #11 Отправлен: Июль 14, 2011, 22:21:28 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
5407 Просмотров
Последний ответ Январь 30, 2011, 14:37:59
от Kaster
0 Ответов
2176 Просмотров
Последний ответ Январь 30, 2011, 14:38:11
от Kaster
5 Ответов
4195 Просмотров
Последний ответ Февраль 25, 2012, 23:03:04
от sngr
0 Ответов
18350 Просмотров
Последний ответ Январь 13, 2013, 01:52:51
от CreatoR
1 Ответов
1326 Просмотров
Последний ответ Декабрь 04, 2014, 14:17:57
от Yuriy
0 Ответов
739 Просмотров
Последний ответ Декабрь 04, 2014, 15:37:45
от madmasles
7 Ответов
794 Просмотров
Последний ответ Август 01, 2017, 09:10:46
от ra4o
3 Ответов
2261 Просмотров
Последний ответ Сентябрь 20, 2017, 14:27:30
от InnI
4 Ответов
1437 Просмотров
Последний ответ Октябрь 17, 2017, 02:40:55
от Garrett
0 Ответов
387 Просмотров
Последний ответ Апрель 04, 2019, 20:45:36
от lu4schydrug