Exemplo n.º 1
0
char *GetFirstLine (char *pszLine) {

	char szLineBuffer [iMaxLineLength];
	int iEndSel = HIWORD (Edit_GetSel (hEditWnd));
	int iCopyCount;
	int iLineNr;
	register int i;

/* lese akt. Zeile */
	for (i = 0; i < sizeof (szLineBuffer); i++)
		 szLineBuffer [i] = '\0';
	iLineNr = Edit_LineFromChar (hEditWnd, iEndSel);
	Edit_GetLine (hEditWnd, iLineNr, szLineBuffer,
				  sizeof (szLineBuffer) -1);

/* berechne Indizes für Kopieren des sel. Strings */
   iEndSel -= Edit_LineIndex (hEditWnd, iLineNr);

/* berechne Anz. zu kopierender Zeichen */
   iCopyCount = strlen (szLineBuffer) - iEndSel;

/* überflüssige Zeichen überschreiben */
   memmove (szLineBuffer, szLineBuffer+iEndSel, iCopyCount);
   szLineBuffer [iCopyCount] = '\0';	// setze Endekennzeichen

/* in Zielstring kopieren */
   strcpy (pszLine, szLineBuffer);

   return (pszLine);
}
Exemplo n.º 2
0
// delete a line
void editDeleteLine(HWND i_hwnd, size_t i_n)
{
    int len = Edit_LineLength(i_hwnd, i_n);
    if (len < 0)
        return;
    len += 2;
    int index = Edit_LineIndex(i_hwnd, i_n);
    Edit_SetSel(i_hwnd, index, index + len);
    Edit_ReplaceSel(i_hwnd, _T(""));
}
Exemplo n.º 3
0
/* Selektierten Text lesen */
char *GetSelectedText (char *pszResultText, int iMaxCopy) {

	char szLineBuffer [iMaxLineLength];
	DWORD dwSel = Edit_GetSel (hEditWnd);
	int iAnfSel = LOWORD (dwSel);
	int iEndSel = HIWORD (dwSel);
	int iCopyCount;
	int iLineNr;
	register int i;
		
	iCopyCount = iEndSel - iAnfSel;
	if (iCopyCount) {

/* akt. Zeile lesen */
		for (i = 0; i < sizeof (szLineBuffer); i++)
			szLineBuffer [i] = '\0';
		iLineNr = Edit_LineFromChar (hEditWnd, -1);
		Edit_GetLine (hEditWnd, iLineNr, szLineBuffer,
					  sizeof (szLineBuffer) -1);

/* berechne Indizes für Kopieren des sel. Strings */
		iAnfSel -= Edit_LineIndex (hEditWnd, iLineNr);

/* korrigiere ggf. Anz. zu kopierender Zeichen */
		if (Edit_LineFromChar (hEditWnd, iEndSel) != iLineNr) {
			iEndSel = strlen (szLineBuffer);
			iCopyCount = iEndSel - iAnfSel;
		}

/* begrenze ggf. Anz. zu kopierender Zeichen */
		if (iCopyCount > iMaxCopy)
			iCopyCount = iMaxCopy;

/* überflüssige Zeichen überschreiben */
		memmove (szLineBuffer, szLineBuffer+iAnfSel, iCopyCount);
		szLineBuffer [iCopyCount] = '\0';	 // setze Endekennzeichen

/* in Zielstring kopieren */
		strcpy (pszResultText, szLineBuffer);
	}
	return (pszResultText);
}