I have problem with the follow code : Please if you know something help me!

when the digitalWrite(ALARM, HIGH) and i insert the password if the DOOR_State == HIGH all work ok.
when the digitalWrite(ALARM, HIGH) and i insert the password if the DOOR_State == LOW , i can see the lcd.print("SOSTO PASSWORD "); but it doesn;t work. the (ALARM = HIGH) why?

const int DOOR  = 3;     // THE DOOR   ON 3 PIN 
const int ALARM = 13;    // THE ALARM  ON 12 PIN

// variables will change:

int DOOR_State =  1;         // variable for reading the DOOR status
int ON_IN_State = 0 ;        // ON_IN State
int RUN_IN_State = 0 ;       // RUN_IN State

#include <Wire.h>
#include <PCFCrystal.h>
#include <i2ckeypad.h>
#include <Password.h>

Password password = Password( "1234" );

byte buffer = 0;

PCFCrystal lcd(B00100000, B00010000, B00000001, B00000010, B00000100, B00001000, 0x38, &buffer);
const int buttonPin = 2;


#define ROWS 4
#define COLS 4


#define PCF8574_ADDR 0x3F




i2ckeypad kpd = i2ckeypad(PCF8574_ADDR, ROWS, COLS);

#define buzz 0x3B 

void setup() {
  Serial.begin(9600);
  Wire.begin();
  lcd.begin(16, 2);
  lcd.setCursor(0,0);

  // initialize the output:

  pinMode(ALARM, OUTPUT);      
  // initialize the  input:
  pinMode(DOOR,  INPUT);


  kpd.init();

  Wire.beginTransmission(buzz);
  Wire.send(B00000000);
  Wire.endTransmission();

  Serial.print("Testing keypad/PCF8574 I2C port expander arduino lib\n\n");
}

void loop() {
  // read the state of the pushbutton value:
  DOOR_State =  digitalRead(DOOR);

  if (ON_IN_State == HIGH && DOOR_State == HIGH ){
    delay(2000);
    RUN_IN_State = HIGH;
    lcd.setCursor(0,0);
    lcd.print("ENERGOS MESA                      ");
    lcd.setCursor(0,1);
    lcd.print("                                 ");
    ON_IN_State = LOW;
  }

  if (RUN_IN_State == HIGH && DOOR_State == LOW ){

    digitalWrite(ALARM, HIGH);
    lcd.setCursor(0,0);
    lcd.print("ALARM                         ");
    lcd.setCursor(0,1);
    lcd.print("                                 ");
  }

  char key = kpd.get_key();

  if(key) {
    switch (key)
    {
    case 'A':

      (ON_IN_State = HIGH);
      lcd.setCursor(0,0);
      lcd.print("ENERGOPOIHSH                ");
      lcd.setCursor(0,1);
      lcd.print("APO MESA                      ");

      break;  

      Serial.println(key);
    case '#': 
      guessPassword(); 
      break;
    case '*': 
      password.reset(); 
      break;
    default: 

      password.append(key);

    }
  }
}

void guessPassword(){
  if (password.evaluate()){

    digitalWrite(ALARM, LOW);
    ON_IN_State = LOW ;       
    RUN_IN_State = LOW ;

    lcd.setCursor(0,0);
    lcd.print("SOSTO PASSWORD                     ");
    lcd.setCursor(0,1);
    lcd.print("                                  ");
    delay(2000);
    lcd.setCursor(0,0);
    lcd.print("ANENERGOS                        ");
    lcd.setCursor(0,1);
    lcd.print("SYNAGERMOS                       ");
    password.reset(); 

  }

  else{
    lcd.setCursor(0,0);
    lcd.print("LATHOS PASSWORD                     ");
    lcd.setCursor(0,1);
    lcd.print("                                  ");
  }

}
      (ON_IN_State = HIGH);

The parentheses are there because?

      guessPassword();

Is this function actually trying to guess the password, or is it checking the password?

      break;  

      Serial.println(key);

Jump to the end of the switch statement. Then, print something. Nothing after the break statement gets executed.

    default: 
      password.append(key);

So, when no key is pressed, append that to the password. Hmmm…

i can see the lcd.print("SOSTO PASSWORD "); but it doesn;t work. the (ALARM = HIGH) why?

I’m not sure what you are saying/asking here. Are you saying that you see the SOSTO message, but the ALARM pin remains HIGH?

const int ALARM = 13;    // THE ALARM  ON 12 PIN

It’s nice when the comments and code match. If you don’t want to maintain unnecessary comments, delete them.

Add Serial.begin(), Serial.print(), and Serial.println() statements to your code, so you can see what is happening.