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
AvatarZarejestrowany, 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!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

AvatarZarejestrowany, 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!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

AvatarZarejestrowany, 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!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

AvatarZarejestrowany, 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!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 
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 operacyjne12757 17.08.2012 00:17:50
WątekProgram do komórkiPorady / Oprogramowanie, systemy operacyjne3160 16.07.2008 16:13:37
Wątekc program liczący masy molowePorady / Programowanie2114 12.01.2007 22:10:21
RozwiązaneWątek zamkniętyjak odzyskać program boot'ujący??Porady / Sprzęt131 391 14.12.2007 11:08:30
Wątek zamkniętyProgram do nabijania wejść
W jaki sposób można oszukiwać liczniki odwiedzin na stronach www
Porady / Internet5420 555 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
 
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

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