📄 bluejackxcontainer.cpp
字号:
//buddy suchen aufrufen
pApp->BuddysSuchen();
iListBox->HandleItemAdditionL();
iListBox->DrawNow();
}
// ----------------------------------------------------
// ----------------------------------------------------
void CBlueJackXContainer::SaveLog()
{
// check ob schon vorhanden nach nick
_LIT(KSettingsFileName, "\\system\\apps\\BlueJackX\\Log.dat");
TFileText fSession;
RFile file;
TInt ret = KErrNone;
TBuf16<256> settingsBuf;
if (ret == KErrNone)
{
ret = file.Open(CEikonEnv::Static()->FsSession(), KSettingsFileName, EFileRead | EFileWrite);
if (ret == KErrNotFound)
{
ret = file.Create(CEikonEnv::Static()->FsSession(), KSettingsFileName, EFileRead | EFileWrite);
}
if (ret == KErrNone)
{
//
CleanupClosePushL(file);
fSession.Set(file);
fSession.Seek(ESeekStart);
// zum vergleich ob leer
TBuf16<256> vergleicher;
vergleicher+=_L("");
int anzahl;
anzahl = itemArray->Count();
if (anzahl==0)
{
}else{
int n;
for (n=0;n<=anzahl-1;n++)
{
//schonvorhanden chekc und dann nach save liste leeren
// 23 schauen ob eintrag schon vorhanden:
TBuf16<256> settingsBuf;
TInt zeilenende;
zeilenende = KErrNone;
fSession.Seek(ESeekStart);
fSession.Set(file);
TInt ivorhanden;
ivorhanden = 0;
while (zeilenende != KErrEof)
{
zeilenende = fSession.Read(settingsBuf);
if (vergleicher==settingsBuf)
{}else{
//====================== Zeilen spiltten
const TChar KSeparator = ';';
TLex lex(settingsBuf);
TPtrC e1 = ExtractToken(lex, KSeparator);
TPtrC e2 = ExtractToken(lex, KSeparator);
TPtrC e3 = ExtractToken(lex, KSeparator);
TBuf16<100> Name;
Name.Copy(e3);
TBuf16<100> MACv;
MACv.Copy(e2);
// FEHLER hier wird nur einmal gepr黤t komisch
if(Name==iItemArray_Nick->MdcaPoint(n))
{
//vorhanden=true;
ivorhanden++;
if(MACv==iItemArray_MacID->MdcaPoint(n))
{
ivorhanden++;
}
}
//======================
}
}
// E23 ende vorhanden
bool vorhanden;
switch(ivorhanden)
{
case 0: vorhanden=false; break;
case 1: vorhanden=false; break;
case 2: vorhanden=true; break;
}
//nur speichern wenn noch nicht in liste
if(vorhanden==false)
{
//--------- SPEICHERN
// Handy namen aus listbox holen
_LIT16(meinstring,"");
TBuf16<40> nick(meinstring);
nick.Copy(iItemArray_Nick->MdcaPoint(n));
// mac id des handys auslesen
_LIT16(tmpstr,"");
TBuf16<65> handymac(tmpstr);
handymac.Copy(iItemArray_MacID->MdcaPoint(n));
TBuf16<65> stamp(meinstring);
TBuf16<65> stamp1(meinstring);
stamp.Copy(iItemArray_Stamp->MdcaPoint(n));
TInt laenge;
laenge = stamp.Length();
stamp1 +=_L(" ");
int i;
for (i=0;i<=laenge-1;i++)
{
if (stamp.Mid(i,1)==_L("0")){stamp1 += _L("0");}
if (stamp.Mid(i,1)==_L("1")){stamp1 += _L("1");}
if (stamp.Mid(i,1)==_L("2")){stamp1 += _L("2");}
if (stamp.Mid(i,1)==_L("3")){stamp1 += _L("3");}
if (stamp.Mid(i,1)==_L("4")){stamp1 += _L("4");}
if (stamp.Mid(i,1)==_L("5")){stamp1 += _L("5");}
if (stamp.Mid(i,1)==_L("6")){stamp1 += _L("6");}
if (stamp.Mid(i,1)==_L("7")){stamp1 += _L("7");}
if (stamp.Mid(i,1)==_L("8")){stamp1 += _L("8");}
if (stamp.Mid(i,1)==_L("9")){stamp1 += _L("9");}
if (stamp.Mid(i,1)==_L(":")){stamp1 += _L(":");}
if (stamp.Mid(i,1)==_L(" ")){stamp1 += _L(" ");}
if (stamp.Mid(i,1)==_L(".")){stamp1 += _L(".");}
if (stamp.Mid(i,1)==_L("-")){stamp1 += _L("-");}
}
// zusamensetzen
TBuf16<200> Zeile;
Zeile += stamp1;
Zeile += (_L(";"));
Zeile += handymac;
Zeile += (_L(";"));
Zeile += nick;
Zeile += (_L("\n\r"));
settingsBuf.Copy(Zeile);
// abspeichern
fSession.Write(settingsBuf);
//-----------speichern
}
}
}
fSession.Seek(ESeekStart);
CleanupStack::PopAndDestroy(); // closes the file
}
}
}
// ----------------------------------------------------
// ----------------------------------------------------
void CBlueJackXContainer::LoadLog()
{
_LIT(KSettingsFileName, "\\system\\apps\\BlueJackX\\Log.dat");
TFileText fSession;
RFile file;
TInt ret = KErrNone;
TBuf16<256> settingsBuf;
TBuf16<256> vergleicher;
vergleicher+=_L("");
TInt zeilenende;
if (ret != KErrNone)
{
}else{
ret = file.Open(CEikonEnv::Static()->FsSession(), KSettingsFileName, EFileRead | EFileShareAny);
if (ret != KErrNone)
{
}else{
fSession.Set(file);
while (zeilenende != KErrEof)
{
zeilenende = fSession.Read(settingsBuf);
if (vergleicher==settingsBuf)
{}else{
//====================== Zeilen spiltten
const TChar KSeparator = ';';
TLex lex(settingsBuf);
TPtrC e1 = ExtractToken(lex, KSeparator);
TPtrC e2 = ExtractToken(lex, KSeparator);
TPtrC e3 = ExtractToken(lex, KSeparator);
TBuf16<100> Datum;
TBuf16<100> Mac;
TBuf16<100> Name;
Datum.Copy(e1);
Mac.Copy(e2);
Name.Copy(e3);
Datum.Delete(0,1);
//======================
//====== in liste packen
iItemArray_Nick->AppendL(Name);
iItemArray_Stamp->AppendL(Datum);
iItemArray_MacID->AppendL(Mac);
// Firma speichern
TBuf<65> firmastring;
const TChar KSeparator1 = ':';
TLex lex1(Mac);
TPtrC m1 = ExtractToken(lex1, KSeparator1);
TPtrC m2 = ExtractToken(lex1, KSeparator1);
TPtrC m3 = ExtractToken(lex1, KSeparator1);
TBuf16<5> ms1;
TBuf16<5> ms2;
TBuf16<5> ms3;
ms1.Copy(m1);
ms2.Copy(m2);
ms3.Copy(m3);
TBuf<65> ersten3Stellen;
ersten3Stellen +=m1;
ersten3Stellen +=_L(":");
ersten3Stellen +=m2;
ersten3Stellen +=_L(":");
ersten3Stellen +=m3;
firmastring = pApp->FirmenListe(ersten3Stellen);
iItemArray_Firma->AppendL(firmastring); // Firma speichern
TBuf16<80> str35;
str35+=_L("\t");
str35+=Name;
str35+=_L("\t");
str35+=Datum;
itemArray->AppendL(str35);
}
}
}
file.Close();
}
// Listbox ausgeben
iListBox->HandleItemAdditionL();
iListBox->DrawNow();
}
void CBlueJackXContainer::List_Clear()
{
itemArray->Reset();
iItemArray_Stamp->Reset();
iItemArray_MacID->Reset();
iItemArray_Firma->Reset();
iItemArray_Nick->Reset();
iListBox->HandleItemAdditionL();
iListBox->DrawNow(); // listbox wird ausgegeben
}
void CBlueJackXContainer::Delete_logfile()
{
RFs fsSession;
fsSession.Connect();
fsSession.Delete(_L("\\system\\apps\\BlueJackX\\Log.dat"));
fsSession.Close();
}
// ----------------------------------------------------
// ----------------------------------------------------
void CBlueJackXContainer::ShowDeviceDetails()
{
_LIT16(meinstring,"");
TBuf16<32> nick(meinstring);
TBuf16<32> macid(meinstring);
TBuf16<32> Firma(meinstring);
TBuf16<40> stamp(meinstring);
TInt selectetNumber;
selectetNumber = iListBox->CurrentItemIndex();
// nur wenn ger鋞e vorhanden
if(selectetNumber>=0)
{
// Device info dialog ausgeben
nick.Copy(iItemArray_Nick->MdcaPoint(selectetNumber));
macid.Copy(iItemArray_MacID->MdcaPoint(selectetNumber));
Firma.Copy(iItemArray_Firma->MdcaPoint(selectetNumber));
stamp.Copy(iItemArray_Stamp->MdcaPoint(selectetNumber));
// info String zusammenbauen
TBuf<300> DeviceInfo;
DeviceInfo += _L("Device Name:\n");
DeviceInfo += nick;
DeviceInfo += _L("\nMac-ID:\n");
DeviceInfo += macid;
DeviceInfo += _L("\nModel:\n");
DeviceInfo += Firma;
DeviceInfo += _L("\nStamp:\n");
DeviceInfo += stamp;
// evtl wenn gejackt richtighacken sonst durchgekreuzt
// status array hinzuf黦en f黵 gefunden /jejackt / not jackable
/*
CAknInformationNote* dlg = new(ELeave)CAknInformationNote(ETrue);
dlg->SetTimeout(CAknNoteDialog::ENoTimeout);
dlg->ExecuteLD(DeviceInfo); */
TBuf16<300>message;
message.Copy(DeviceInfo);
pApp->ShowDeviceDetails(message);
}
}
void CBlueJackXContainer::StatusPaneMeldung(TBuf<20> Message)
{
// entferne status objekte
delete (CBase*) iNaviDecorator;
CEikStatusPane* sp = iEikonEnv->AppUiFactory()->StatusPane();
iNaviPane = (CAknNavigationControlContainer *)sp->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
iNaviDecorator = iNaviPane->CreateMessageLabelL(Message);
iNaviPane->PushL(*iNaviDecorator);
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -