Forum

[winApi] Sprawdzanie pisowni

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek zamknięty Forum > Porady > Programowanie > [winApi] Sprawdzanie pisowni

Jak zapisać program do sprawdzania pisowni
Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 8 z 8
 Zarejestrowany, zwieszony ErYcK1111 Mężczyzna Kopiuj nick (77.113.11.*) |  
Wypowiedź dodana: 21 lutego 2009, 16:56:45 | Wypowiedź edytowana Ostatnio edytowana: 21 lutego 2009, 18:24:05 po raz 1-wszy przez: Dżyszla
« Opcje

Witam mam problem może Pan zobaczyć:
http://www.elektroda.pl/rtvforum/viewtopic.php?t=1233530

napisze jeszcze raz jako zalogowany

kod główny strony:

#include <windows.h>
#include <commctrl.h>

#include "mdi_unit.h"

#define ID_STATUSBAR 4997
#define ID_TOOLBAR 4998

#define ID_MDI_CLIENT 4999
#define ID_MDI_FIRSTCHILD 50000

#define IDC_CHILD_EDIT 2000

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK MDIChildWndProc(HWND hwnd, UINT Message, WPARAM wParam,
LPARAM lParam);

char g_szAppName[] = "MyMDIWindow";
char g_szChild[] = "MyMDIChild";
HINSTANCE g_hInst;
HWND g_hMDIClient, g_hStatusBar, g_hToolBar;
HWND g_hMainWindow;

BOOL LoadFile(HWND hEdit, LPSTR pszFileName)
{
HANDLE hFile;
BOOL bSuccess = FALSE;

hFile = CreateFile(pszFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if(hFile != INVALID_HANDLE_VALUE)
{
DWORD dwFileSize;
dwFileSize = GetFileSize(hFile, NULL);
if(dwFileSize != 0xFFFFFFFF)
{
LPSTR pszFileText;
pszFileText = LPSTR(GlobalAlloc(GPTR, dwFileSize + 1));
if(pszFileText != NULL)
{
DWORD dwRead;
if(ReadFile(hFile, pszFileText, dwFileSize, &dwRead, NULL))
{
pszFileText[dwFileSize] = 0; // Null terminator
if(SetWindowText(hEdit, pszFileText))
bSuccess = TRUE; // It worked!
}
GlobalFree(pszFileText);
}
}
CloseHandle(hFile);
}
return bSuccess;
}

BOOL SaveFile(HWND hEdit, LPSTR pszFileName)
{
HANDLE hFile;
BOOL bSuccess = FALSE;

hFile = CreateFile(pszFileName, GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(hFile != INVALID_HANDLE_VALUE)
{
DWORD dwTextLength;
dwTextLength = GetWindowTextLength(hEdit);
if(dwTextLength > 0)// No need to bother if there's no text.
{
LPSTR pszText;
pszText = LPSTR(GlobalAlloc(GPTR, dwTextLength + 1));
if(pszText != NULL)
{
if(GetWindowText(hEdit, pszText, dwTextLength + 1))
{
DWORD dwWritten;
if(WriteFile(hFile, pszText, dwTextLength, &dwWritten, NULL))
bSuccess = TRUE;
}
GlobalFree(pszText);
}
}
CloseHandle(hFile);
}
return bSuccess;
}

BOOL GetFileName(HWND hwnd, LPSTR pszFileName, BOOL bSave)
{
OPENFILENAME ofn;

ZeroMemory(&ofn, sizeof(ofn));
pszFileName[0] = 0;

ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = "Text Files (*.txt)\0*.txt\0All Files (*.*)\0*.*\0\0";
ofn.lpstrFile = pszFileName;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = "txt";

if(bSave)
{
ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY |
OFN_OVERWRITEPROMPT;
if(!GetSaveFileName(&ofn))
return FALSE;
}
else
{
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
if(!GetOpenFileName(&ofn))
return FALSE;
}
return TRUE;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{
MSG Msg;
WNDCLASSEX WndClassEx;

InitCommonControls();

g_hInst = hInstance;

WndClassEx.cbSize = sizeof(WNDCLASSEX);
WndClassEx.style = CS_HREDRAW | CS_VREDRAW;
WndClassEx.lpfnWndProc = WndProc;
WndClassEx.cbClsExtra = 0;
WndClassEx.cbWndExtra = 0;
WndClassEx.hInstance = hInstance;
WndClassEx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClassEx.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClassEx.hbrBackground = (HBRUSH)(COLOR_3DSHADOW+1);
WndClassEx.lpszMenuName = "MAIN";
WndClassEx.lpszClassName = g_szAppName;
WndClassEx.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

if(!RegisterClassEx(&WndClassEx))
{
MessageBox(0, "Could Not Register Window", "Oh Oh...",
MB_ICONEXCLAMATION | MB_OK);
return -1;
}

WndClassEx.lpfnWndProc = MDIChildWndProc;
WndClassEx.lpszMenuName = NULL;
WndClassEx.lpszClassName = g_szChild;
WndClassEx.hbrBackground = (HBRUSH)(COLOR_3DFACE+1);

if(!RegisterClassEx(&WndClassEx))
{
MessageBox(0, "Could Not Register Child Window", "Oh Oh...",
MB_ICONEXCLAMATION | MB_OK);
return -1;
}

g_hMainWindow = CreateWindowEx(WS_EX_APPWINDOW, g_szAppName,
"Plik Edytor", WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
0, 0, hInstance, NULL);

if (g_hMainWindow == NULL){
MessageBox(0, "No Window", "Oh Oh...", MB_ICONEXCLAMATION | MB_OK);
return -1;
}

ShowWindow(g_hMainWindow, nCmdShow);
UpdateWindow(g_hMainWindow);

while(GetMessage(&Msg, NULL, 0, 0))
{
if (!TranslateMDISysAccel(g_hMDIClient, &Msg))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
}
return Msg.wParam;
}


LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch(Message)
{
case WM_CREATE:
{
CLIENTCREATESTRUCT ccs;
int iStatusWidths[] = {200, 300, -1};
TBADDBITMAP tbab;
TBBUTTON tbb[9];

// Find window menu where children will be listed
ccs.hWindowMenu = GetSubMenu(GetMenu(hwnd), 2);
ccs.idFirstChild = ID_MDI_FIRSTCHILD;
g_hMDIClient = CreateWindowEx(WS_EX_CLIENTEDGE, "mdiclient", NULL,
WS_CHILD | WS_CLIPCHILDREN | WS_VSCROLL | WS_HSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
hwnd, (HMENU)ID_MDI_CLIENT, g_hInst, (LPVOID)&ccs);
ShowWindow(g_hMDIClient, SW_SHOW);

g_hStatusBar = CreateWindowEx(0, STATUSCLASSNAME, NULL,
WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP, 0, 0, 0, 0,
hwnd, (HMENU)ID_STATUSBAR, g_hInst, NULL);
SendMessage(g_hStatusBar, SB_SETPARTS, 3, (LPARAM)iStatusWidths);
SendMessage(g_hStatusBar, SB_SETTEXT, 2, (LPARAM)"Program stworzył: E.Sudól & Krystian");

g_hToolBar = CreateWindowEx(0, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_VISIBLE, 0, 0, 0, 0,
hwnd, (HMENU)ID_TOOLBAR, g_hInst, NULL);

// Send the TB_BUTTONSTRUCTSIZE message, which is required for
// backward compatibility.
SendMessage(g_hToolBar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);

tbab.hInst = HINST_COMMCTRL;
tbab.nID = IDB_STD_SMALL_COLOR;
SendMessage(g_hToolBar, TB_ADDBITMAP, 0, (LPARAM)&tbab);

ZeroMemory(tbb, sizeof(tbb));

tbb[0].iBitmap = STD_FILENEW;
tbb[0].fsState = TBSTATE_ENABLED;
tbb[0].fsStyle = TBSTYLE_BUTTON;
tbb[0].idCommand = CM_FILE_NEW;

tbb[1].iBitmap = STD_FILEOPEN;
tbb[1].fsState = TBSTATE_ENABLED;
tbb[1].fsStyle = TBSTYLE_BUTTON;
tbb[1].idCommand = CM_FILE_OPEN;

tbb[2].iBitmap = STD_FILESAVE;
tbb[2].fsStyle = TBSTYLE_BUTTON;
tbb[2].idCommand = CM_FILE_SAVE;

tbb[3].fsStyle = TBSTYLE_SEP;

tbb[4].iBitmap = STD_CUT;
tbb[4].fsStyle = TBSTYLE_BUTTON;
tbb[4].idCommand = CM_EDIT_CUT;

tbb[5].iBitmap = STD_COPY;
tbb[5].fsStyle = TBSTYLE_BUTTON;
tbb[5].idCommand = CM_EDIT_COPY;

tbb[6].iBitmap = STD_PASTE;
tbb[6].fsStyle = TBSTYLE_BUTTON;
tbb[6].idCommand = CM_EDIT_PASTE;

tbb[7].fsStyle = TBSTYLE_SEP;

tbb[8].iBitmap = STD_UNDO;
tbb[8].fsStyle = TBSTYLE_BUTTON;
tbb[8].idCommand = CM_EDIT_UNDO;

SendMessage(g_hToolBar, TB_ADDBUTTONS, 9, (LPARAM)&tbb);

return 0;
}
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case CM_FILE_EXIT:
PostMessage(hwnd, WM_CLOSE, 0, 0);
case IDM_HELPABOUT:
MessageBox (NULL, "Autorzy:(pomyśł) - Eryk Sudół & Krystian.X" , "Plik Edytor v, 0.2 - Autorzy", 0);
return 0;//autorzy
case IDM_HELPABOUT2:
MessageBox (NULL, "Kontakt: E(małpa)Mail: xerykx(małpa)interia.eu" , "Plik Edytor v, 0.2 - Kontakt", 0);
return 0;//kontakt
// z wykorzystywaniem about
// auobut = autorzy
// auobut2 = kontakt // można tak dalej dodawać komunikaty okienkowe


break;
case CM_FILE_NEW:
{
MDICREATESTRUCT mcs;
HWND hChild;

mcs.szTitle = "[Brak Nazwy Pliku]";
mcs.szClass = g_szChild;
mcs.hOwner = g_hInst;
mcs.x = mcs.cx = CW_USEDEFAULT;
mcs.y = mcs.cy = CW_USEDEFAULT;
mcs.style = MDIS_ALLCHILDSTYLES;

hChild = (HWND)SendMessage(g_hMDIClient, WM_MDICREATE,
0, (LONG)&mcs);
if(!hChild)
{
MessageBox(hwnd, "MDI Child creation failed.", "Oh Oh...",
MB_ICONEXCLAMATION | MB_OK);
}
}
break;
case CM_FILE_OPEN:
{
MDICREATESTRUCT mcs;
HWND hChild;
char szFileName[MAX_PATH];

if(!GetFileName(hwnd, szFileName, FALSE))
break;

mcs.szTitle = szFileName;
mcs.szClass = g_szChild;
mcs.hOwner = g_hInst;
mcs.x = mcs.cx = CW_USEDEFAULT;
mcs.y = mcs.cy = CW_USEDEFAULT;
mcs.style = MDIS_ALLCHILDSTYLES;

hChild = (HWND)SendMessage(g_hMDIClient, WM_MDICREATE,
0, (LONG)&mcs);

if(!hChild)
{
MessageBox(hwnd, "Program nie działa.", "Oh Oh...",
MB_ICONEXCLAMATION | MB_OK);
}
}
break;
case CM_WINDOW_TILEHORZ:
PostMessage(g_hMDIClient, WM_MDITILE, MDITILE_HORIZONTAL, 0);
break;
case CM_WINDOW_TILEVERT:
PostMessage(g_hMDIClient, WM_MDITILE, MDITILE_VERTICAL, 0);
break;
case CM_WINDOW_CASCADE:
PostMessage(g_hMDIClient, WM_MDICASCADE, 0, 0);
break;
case CM_WINDOW_ARRANGE:
PostMessage(g_hMDIClient, WM_MDIICONARRANGE, 0, 0);
break;
default:
{
if(LOWORD(wParam) >= ID_MDI_FIRSTCHILD){
DefFrameProc(hwnd, g_hMDIClient, Message, wParam, lParam);
}
else {
HWND hChild;
hChild = (HWND)SendMessage(g_hMDIClient, WM_MDIGETACTIVE,0,0);
if(hChild){
SendMessage(hChild, WM_COMMAND, wParam, lParam);
}
}
}
}
}
break;
case WM_SIZE:
{
RECT rectClient, rectStatus, rectTool;
UINT uToolHeight, uStatusHeight, uClientAlreaHeight;

SendMessage(g_hToolBar, TB_AUTOSIZE, 0, 0);
SendMessage(g_hStatusBar, WM_SIZE, 0, 0);

GetClientRect(hwnd, &rectClient);
GetWindowRect(g_hStatusBar, &rectStatus);
GetWindowRect(g_hToolBar, &rectTool);

uToolHeight = rectTool.bottom - rectTool.top;
uStatusHeight = rectStatus.bottom - rectStatus.top;
uClientAlreaHeight = rectClient.bottom;

MoveWindow(g_hMDIClient, 0, uToolHeight, rectClient.right, uClientAlreaHeight - uStatusHeight - uToolHeight, TRUE);
}
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefFrameProc(hwnd, g_hMDIClient, Message, wParam, lParam);
}
return 0;
}

LRESULT CALLBACK MDIChildWndProc(HWND hwnd, UINT Message, WPARAM wParam,
LPARAM lParam)
{
switch(Message)
{
case WM_CREATE:
{
char szFileName[MAX_PATH];
HWND hEdit;

hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "",
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_MULTILINE |
ES_WANTRETURN,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
hwnd, (HMENU)IDC_CHILD_EDIT, g_hInst, NULL);

SendMessage(hEdit, WM_SETFONT,
(WPARAM)GetStockObject(DEFAULT_GUI_FONT), MAKELPARAM(TRUE, 0));

GetWindowText(hwnd, szFileName, MAX_PATH);
if(*szFileName != '[')
{
if(!LoadFile(hEdit, szFileName))
{
MessageBox(hwnd, "Couldn't Load File.", "Error.",
MB_OK | MB_ICONEXCLAMATION);
return -1; //cancel window creation
}
}
}
break;
case WM_SIZE:
if(wParam != SIZE_MINIMIZED)
MoveWindow(GetDlgItem(hwnd, IDC_CHILD_EDIT), 0, 0, LOWORD(lParam),
HIWORD(lParam), TRUE);
break;
case WM_MDIACTIVATE:
{
HMENU hMenu, hFileMenu;
BOOL EnableFlag;
char szFileName[MAX_PATH];

hMenu = GetMenu(g_hMainWindow);
if(hwnd == (HWND)lParam){ //being activated
EnableFlag = TRUE;
}
else{
EnableFlag = FALSE; //being de-activated
}
EnableMenuItem(hMenu, 1, MF_BYPOSITION | (EnableFlag ? MF_ENABLED : MF_GRAYED));
EnableMenuItem(hMenu, 2, MF_BYPOSITION | (EnableFlag ? MF_ENABLED : MF_GRAYED));

hFileMenu = GetSubMenu(hMenu, 0);
EnableMenuItem(hFileMenu, CM_FILE_SAVE, MF_BYCOMMAND | (EnableFlag ? MF_ENABLED : MF_GRAYED));
EnableMenuItem(hFileMenu, CM_FILE_SAVEAS, MF_BYCOMMAND | (EnableFlag ? MF_ENABLED : MF_GRAYED));

DrawMenuBar(g_hMainWindow);

SendMessage(g_hToolBar, TB_ENABLEBUTTON, CM_FILE_SAVE, MAKELONG(EnableFlag, 0));
SendMessage(g_hToolBar, TB_ENABLEBUTTON, CM_EDIT_UNDO, MAKELONG(EnableFlag, 0));
SendMessage(g_hToolBar, TB_ENABLEBUTTON, CM_EDIT_CUT, MAKELONG(EnableFlag, 0));
SendMessage(g_hToolBar, TB_ENABLEBUTTON, CM_EDIT_COPY, MAKELONG(EnableFlag, 0));
SendMessage(g_hToolBar, TB_ENABLEBUTTON, CM_EDIT_PASTE, MAKELONG(EnableFlag, 0));

GetWindowText(hwnd, szFileName, MAX_PATH);
SendMessage(g_hStatusBar, SB_SETTEXT, 0, (LPARAM)(EnableFlag ? szFileName : ""));
}
break;
case WM_SETFOCUS:
SetFocus(GetDlgItem(hwnd, IDC_CHILD_EDIT));
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case CM_FILE_SAVE:
{
char szFileName[MAX_PATH];

GetWindowText(hwnd, szFileName, MAX_PATH);
if(*szFileName != '[')
{
if(!SaveFile(GetDlgItem(hwnd, IDC_CHILD_EDIT), szFileName))
{
MessageBox(hwnd, "Couldn't Save File.", "Error.",
MB_OK | MB_ICONEXCLAMATION);
return 0;
}
}
else
{
PostMessage(hwnd, WM_COMMAND,
MAKEWPARAM(CM_FILE_SAVEAS, 0), 0);
}
}
return 0;
case CM_FILE_SAVEAS:
{
char szFileName[MAX_PATH];

if(GetFileName(hwnd, szFileName, TRUE))
{
if(!SaveFile(GetDlgItem(hwnd, IDC_CHILD_EDIT), szFileName))
{
MessageBox(hwnd, "Couldn't Save File.", "Error.",
MB_OK | MB_ICONEXCLAMATION);
return 0;
}
else
{
SetWindowText(hwnd, szFileName);
}
}
}
return 0;
case CM_EDIT_UNDO:
SendDlgItemMessage(hwnd, IDC_CHILD_EDIT, EM_UNDO, 0, 0);
break;
case CM_EDIT_CUT:
SendDlgItemMessage(hwnd, IDC_CHILD_EDIT, WM_CUT, 0, 0);
break;
case CM_EDIT_COPY:
SendDlgItemMessage(hwnd, IDC_CHILD_EDIT, WM_COPY, 0, 0);
break;
case CM_EDIT_PASTE:
SendDlgItemMessage(hwnd, IDC_CHILD_EDIT, WM_PASTE, 0, 0);
break;
}
return 0;
}
return DefMDIChildProc(hwnd, Message, wParam, lParam);
}

kod pliku sprpis.h:

class dictionary
{
private:
vector<int> m_index;
ifstream m_file;

void gen_index()
{
int off = 0;
m_file.open("alfabet.txt",ios::binary);

while(m_file.good())
{
m_index.push_back(off);
m_file.ignore(numeric_limits<streamsize>::max(),'\n');
off = m_file.tellg();
}

m_file.clear();
}

struct cmp
{
ifstream& m_is;
vector<int>& m_index;

cmp(ifstream &is,vector<int> &idx)
:m_is(is), m_index(idx)
{}

bool operator()(int off,const string &str)
{
string tmp;
m_is.clear();
m_is.seekg(off);
m_is >> tmp;
return tmp < str;
}
};

public:
dictionary()
{
gen_index();
}

string operator[](unsigned i)
{
string tmp;
m_file.clear();
m_file.seekg(m_index[i]);
m_file >> tmp;
return tmp;
}

int find(const string &w)
{
vector<int>::iterator it;
it = lower_bound(m_index.begin(),
m_index.end(),
w,
cmp(m_file,m_index));

if(it != m_index.end())return (it - m_index.begin());
return -1;
}
};

i kod który muszę dodać do kodu głównego:

dictionary dict;

int i = dict.find("słowo");
if(i >= 0)cout << dict[i] << '\n';
i = dict.find("ortografia");
if(i >= 0)cout << dict[i] << '\n';

lnik do elektroda.pl
http://www.elektroda.pl/rtvforum/viewtopic.php?t=1233530

-----------------------------

sorry za te 2 wypowiedzi

Moderowane przez Dżyszla :

poprawione

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 21 lutego 2009, 16:56:46

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 21 lutego 2009, 18:29:47
« Opcje

Nie jestem na tyle biegły w WinAPI, ale sądzę, że wystarczy zaincludować plik obsługi słownika, a następnie w jakimś tam zdarzeniu po prostu dokonać metody find tego dodanego obiektu. Nie odpowiadałem na elektrodzie bo po prostu nie jestem w stanie wnieść nic sensownego do tematu.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

 Zarejestrowany, zwieszony ErYcK1111 Mężczyzna Kopiuj nick (77.113.73.*) |  
Wypowiedź dodana: 22 lutego 2009, 07:47:00
« Opcje

mam takie pytanie jask wezne tem kod sprpis.h i tem do użycia to gdzie moge dadc tem mały kod:

dictionary dict;

int i = dict.find("słowo");
if(i >= 0)cout << dict[i] << '\n';
i = dict.find("ortografia");
if(i >= 0)cout << dict[i] << '\n';

nie moge tego zladoać do kupy.

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 22 lutego 2009, 13:44:30
« Opcje

To zależy, co chcesz osiągnąć i w jakim momencie. Podany kod jest tylko przykładem wykorzystania klasy.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

 Zarejestrowany, zwieszony ErYcK1111 Mężczyzna Kopiuj nick (95.41.231.*) |  
Wypowiedź dodana: 22 lutego 2009, 14:51:15
« Opcje

witam mam juz wszystko gra ( no prawie wszystko)
potrzebuje tablicy char z wyrazami z słownika znacie taką strone z takim kodem?
ja to robie tak na piechote ale zejdzie mi sie z 1 mc

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 22 lutego 2009, 18:25:18
« Opcje

mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

 Zarejestrowany, zwieszony ErYcK1111 Mężczyzna Kopiuj nick (77.113.133.*) |  
Wypowiedź dodana: 23 lutego 2009, 17:04:22
« Opcje

dzienki Dżyszla napewno się przyda

_________________
P.S
odwiedz:

i wybierz opcje sprawdzania pisowni aby można było sprawdzać błędy (jeśli to forum jest w phpbb)
http://www.kurshtml.boo.pl/phpbb/

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 23 lutego 2009, 18:36:36
« Opcje

i wybierz opcje sprawdzania pisowni aby można było sprawdzać błędy (jeśli to forum jest w phpbb)
http://www.kurshtml.boo.pl/phpbb/

To forum jest na autorskim skrypcie, jakiego nie ma nigdzie indziej w sieci. Sprawdzania pisowni nie będzie, gdyż realizują to przeglądarki internetowe.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź
WątekPrzechwycenie - zgranie - zapisanie dźwięku z karty...
Jak przechwycić dźwięk z karty i zapisać na dysku?
Porady / Oprogramowanie, systemy operacyjne12778 17.08.2012 00:17:50
RozwiązaneWątek zamkniętyjak odzyskać program boot'ujący??Porady / Sprzęt131 399 14.12.2007 11:08:30
WątekProgram do komórkiPorady / Oprogramowanie, systemy operacyjne3167 16.07.2008 16:13:37
Wątekc program liczący masy molowePorady / Programowanie2116 12.01.2007 22:10:21
Wątek zamkniętyProgram do nabijania wejść
W jaki sposób można oszukiwać liczniki odwiedzin na stronach www
Porady / Internet5420 770 14.05.2010 09:25:56

Wątek zamknięty - nie można już do niego dodawać nowych wypowiedzi

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie.
Korzystając z niej wyrażasz zgodę na przetwarzanie danych a zakresie podanym w Polityce Prywatności.
Helion.pl  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2018 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 15.07.2018 16:27
Wszystkie czasy dla strefy czasowej: Europe/Warsaw