/* $VER: CompareTexts.ced 1.1 (16-Aug-2000) by A.Greve
**
** Beschreibung siehe CompareTextsStart.ced
*/

OPTIONS RESULTS

STATUS PIXELTOPEDGE
actview = RESULT
DO FOREVER														/* 1. View suchen...        */
	NEXT VIEW
	STATUS PIXELTOPEDGE
	newview = RESULT
	IF newview <= actview THEN LEAVE							/* ...gefunden !            */
END
STATUS NUMLINES													/* Zeilenzahl beider...     */
lines1 = RESULT
NEXT VIEW
STATUS NUMLINES													/* ...Dateien ermitteln     */
lines2 = RESULT
PREVIOUS VIEW

DO FOREVER
	GETLINE
	theline1 = RESULT
	NEXT VIEW
	GETLINE
	theline2 = RESULT
	IF theline1 == theline2 THEN DO								/* Beide Zeilen gleich ?    */
		STATUS CURSORLINE
		IF RESULT = lines2 THEN DO								/* Ende 2. Datei ?          */
			OKAY1 'Ende von Datei 2 erreicht!'
			EXIT(0)
		END
		DOWN
		PREVIOUS VIEW
		STATUS CURSORLINE
		IF RESULT = lines1 THEN DO								/* Ende 1. Datei ?          */
			OKAY1 'Ende von Datei 1 erreicht!'
			EXIT(0)
		END
		DOWN
	END
	ELSE DO														/* Beide Zeilen ungleich    */
		lastpos = MIN(LENGTH(theline1),LENGTH(theline2))		/* Länge der kürzeren Zeile */
		DO i = 1 TO lastpos										/* Zeichenweise Vergleich   */
			IF SUBSTR(theline1,i,1) ~= SUBSTR(theline2,i,1) THEN
				LEAVE											/* Ungleich -> DO...TO-Ende */
		END
		CEDTOFRONT
		PREVIOUS VIEW											/* Cursor in 1. Datei auf...*/
		STATUS CURSORLINE
		linenum = RESULT + 1
		LL linenum i											/* ...differierende Spalte  */
		EXIT(0)
	END
	LASTKEY
	IF (RESULT ~= -1) & (WORD(RESULT, 1) < 128) THEN DO			/* Tastendruck -> Ende      */
		CEDTOFRONT
		PREVIOUS VIEW
		DM '*** Anwender-Abbruch ***'
		EXIT(0)
	END
END

