I'm sorry, here's the same code with better formatting:
```pascal
program NamedPipeExample;

{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

const
  PIPE_NAME = '\.\pipe\MyNamedPipe';

var
  hPipe: THandle;
  lpvMessage: PChar;
  cbRead, cbWritten: DWORD;
begin
  try
    // Create a named pipe
    hPipe := CreateNamedPipe(PIPE_NAME, PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE or PIPE_READMODE_MESSAGE or PIPE_WAIT,
    PIPE_UNLIMITED_INSTANCES, 512, 512, 0, nil);

    if hPipe = INVALID_HANDLE_VALUE then
    begin
      raise Exception.Create('Failed to create named pipe: ' + SysErrorMessage(GetLastError));
    end;

    // Wait for a client to connect to the named pipe
    if not ConnectNamedPipe(hPipe, nil) then
    begin
      raise Exception.Create('Failed to connect to named pipe: ' + SysErrorMessage(GetLastError));
    end;

    // Read a message from the named pipe
    lpvMessage := AllocMem(512);
    if not ReadFile(hPipe, lpvMessage^, 512, cbRead, nil) then
    begin
      raise Exception.Create('Failed to read message from named pipe: ' + SysErrorMessage(GetLastError));
    end;
    WriteLn('Received message: ' + string(lpvMessage));
  
    // Write a response to the named pipe
    if not WriteFile(hPipe, 'Hello from Delphi!', 19, cbWritten, nil) then
    begin
      raise Exception.Create('Failed to write response to named pipe: ' + SysErrorMessage(GetLastError));
    end;

    // Disconnect from the named pipe
    DisconnectNamedPipe(hPipe);
    CloseHandle(hPipe);

  except
    on E: Exception do
    begin
      WriteLn(E.Message);
    end;
  end;
end.
```
ขออภัย นี่เป็นโค้ดเดียวกันกับที่มีการจัดรูปแบบที่ดีกว่า: ```โปรแกรม pascal NamedPipeExample; {$APPTYPE CONSOLE} ใช้ SysUtils, Windows; const PIPE_NAME = '\.\pipe\MyNamedPipe'; var hPipe: THandle; lpvMessage: PChar; cbRead, cbWritten: DWORD; เริ่มลอง // สร้างไปป์ที่มีชื่อ hPipe := CreateNamedPipe(PIPE_NAME, PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE หรือ PIPE_READMODE_MESSAGE หรือ PIPE_WAIT, PIPE_UNLIMITED_INSTANCES, 512, 512, 0, ไม่มี); ถ้า hPipe = INVALID_HANDLE_VALUE ให้เริ่มยก Exception.Create ('ล้มเหลวในการสร้างเนมไปป์: ' + SysErrorMessage(GetLastError)); จบ; // รอให้ไคลเอนต์เชื่อมต่อกับไปป์ที่มีชื่อถ้าไม่ใช่ ConnectNamedPipe(hPipe, nil) จากนั้นเริ่มยก Exception.Create('Failed to Connect tonamed Pipe: ' + SysErrorMessage(GetLastError)); จบ; // อ่านข้อความจากไปป์ที่มีชื่อ lpvMessage := AllocMem(512); ถ้าไม่ใช่ ReadFile(hPipe, lpvMessage^, 512, cbRead, nil) จากนั้นให้เริ่ม Raise Exception.Create('Failed to read message from suitable_pipe: ' + SysErrorMessage(GetLastError)); จบ; WriteLn('ข้อความที่ได้รับ: ' + string(lpvMessage)); // เขียนการตอบกลับไปยังไปป์ที่มีชื่อถ้าไม่ใช่ WriteFile(hPipe, 'Hello from Delphi!', 19, cbWritten, nil) จากนั้นเริ่มยก Exception.Create('ไม่สามารถเขียนคำตอบไปยังไปป์ที่มีชื่อ: ' + SysErrorMessage(GetLastError) ); จบ; // ตัดการเชื่อมต่อจากไปป์ที่มีชื่อ DisconnectNamedPipe(hPipe); CloseHandle(hPipe); ยกเว้นใน E: ข้อยกเว้นจะเริ่มต้น WriteLn (E.Message); จบ; จบ; จบ. ```
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence