> -- Geniepro писал(а):
> 32 цикла while, из них 1 с оператором break (можно переписать без break с небольшим ухудшением понятности)Переписал вот такой код, вполне нормальный для сишника, но ужасно кривой для паскалиста:## Код:
```
string message;

            while ((message = TCPStreamIO.ReceiveString(POSIPStream)) != null)
            {
                safeLogAppend(message);
                if (SrvIPStream != null && SrvIPStream.CanWrite)
                {
                    TCPStreamIO.SendMsg(SrvIPStream, message + "\n");
                }
                else
                    break; // Отправлять некому, закончим работу
            }
```
вот в такой:## Код:
```
bool   breaked = false;
            string message = TCPStreamIO.ReceiveString(POSIPStream);

            while (!breaked && message != null)
            {
                safeLogAppend(message);
                if (SrvIPStream != null && SrvIPStream.CanWrite)
                {
                    TCPStreamIO.SendMsg(SrvIPStream, message + "\n");
                    message = TCPStreamIO.ReceiveString(POSIPStream);
                }
                else
                    breaked = true; // Отправлять некому, закончим работу
            }
```
Ну и какой вариант лучше? Мне кажется, что первоначальный.