Πρόταση If...Then...Else

Ορίζει ένα ή περισσότερα μπλοκ πρότασης που θέλετε να εκτελέσετε μόνο εάν μια δεδομένη συνθήκη ή έκφραση είναι True.

Σύνταξη:

Πρόταση If...EndIf

Τμήμα ElseIf

Τμήμα Else


  If condition Then 
      statements
  [{ElseIf|Else If} expression Then
      statements]
  [Else 
      statements]
  {EndIf|End If}

Αντί για Else If μπορείτε να γράψετε ElseIf, αντί για End If μπορείτε να γράψετε EndIf.

tip

Οι προτάσεις If μπορούν να συντομευθούν σε μία γραμμή χρησιμοποιώντας μοναδικά μπλοκ προτάσεων.



  If condition Then statement [Else statement]

Παράμετροι:

Η πρόταση If...Then εκτελεί μπλοκ προγράμματος που εξαρτώνται από τις δεδομένες συνθήκες. Όταν η Basic του LibreOffice αντιμετωπίζει μια πρόταση If, ελέγχεται η συνθήκη. Εάν η συνθήκη είναι True, όλες οι επόμενες προτάσεις μέχρι την επόμενη Else ή ElseIf πρόταση εκτελούνται. Εάν η συνθήκη είναι False και μια πρόταση ElseIf ακολουθεί, η Basic του LibreOffice ελέγχει την επόμενη έκφραση και εκτελεί τις επόμενες προτάσεις εάν η συνθήκη είναι True. Εάν είναι False, το πρόγραμμα συνεχίζει είτε με την επόμενη ElseIf, είτε με την πρόταση Else. Οι προτάσεις που ακολουθούν την Else εκτελούνται μόνο εάν καμιά από τις προηγουμένως ελεγμένες συνθήκες δεν ήταν True. Μετά την αξιολόγηση όλων των συνθηκών και την εκτέλεση των αντίστοιχων προτάσεων, το πρόγραμμα συνεχίζει με την πρόταση που ακολουθεί την EndIf.

Μπορείτε να τοποθετηθείτε το πολλαπλές δηλώσεις If...Then την μία μέσα στην άλλη.

Στο Else και στο ElseIf οι δηλώσεις είναι προαιρετικές.

Εικονίδιο προειδοποίησης

Μπορείτε να χρησιμοποιήσετε την GoTo και την GoSub για να φύγετε έξω από ένα μπλοκ If...Then, αλλά όχι για να φύγετε έξω από μία δομή If...Then.


Παράδειγμα:

Το ακόλουθο παράδειγμα σάς επιτρέπει να εισαγάγετε την ημερομηνία λήξης ενός προϊόντος, και επιστρέφει την πληροφορία αν το προϊόν έληξε.


Sub ExampleIfThenDate
    Dim sDate As String
    Dim sToday As String
    sDate = InputBox("Εισαγάγετε την ημερομηνία λήξης (MM.ΗΗ.ΕΕΕΕ")
    sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
    sToday = Date$
    sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
    If sDate < sToday Then
        MsgBox "Η ημερομηνία λήξης πέρασε"
    ElseIf sDate > sToday Then
        MsgBox "Η ημερομηνία λήξης δεν έχει περάσει ακόμα"
    Else
        MsgBox "Η ημερομηνία λήξης είναι σήμερα"
    End If
End Sub

Πρόταση Select Case

Συναρτήσεις Iif ή Switch

Παρακαλούμε, υποστηρίξτε μας!